Append to text file
org.openrewrite.text.AppendToTextFile
Appends or replaces content of an existing plain text file, or creates a new one if it doesn't already exist. Please note that this recipes requires existing plain text files' format to be successfully parsable by OpenRewrite. If a file is left unchanged, it might be parsed as a Quark
rather than plain text. In such case, use the plainTextMask
option. See the Gradle or Maven plugin configuration page.
Recipe source
GitHub, Issue Tracker, Maven Central
groupId: org.openrewrite
artifactId: rewrite-core
version: 8.24.0
Options
Type | Name | Description | Example |
---|---|---|---|
| relativeFileName | File name, using a relative path. If a non-plaintext file already exists at this location, then this recipe will do nothing. |
|
| content | Multiline text content to be appended to the file. |
|
| preamble | Optional. If a new file is created, this content will be included at the beginning. |
|
| appendNewline | Optional. Print a newline automatically after the content (and preamble). Default true. | |
| existingFileStrategy | Optional. Determines behavior if a file exists at this location prior to Rewrite execution.
- |
Usage
This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly. To activate this recipe you must create a new recipe which fills in the required parameters. In your rewrite.yml
create a new recipe with a unique name. For example: com.yourorg.AppendToTextFileExample
. Here's how you can define and customize such a recipe within your rewrite.yml:
Now that com.yourorg.AppendToTextFileExample
has been defined activate it in your build file:
Add the following to your
build.gradle
file:
Run
gradle rewriteRun
to run the recipe.
See how this recipe works across multiple open-source repositories
The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories.
Please contact Moderne for more information about safely running the recipes on your own codebase in a private SaaS.
Contributors
Jonathan Schnéider, Nick McKinney, Maxime Michel, Knut Wannheden, Sam Snyder, Kun Li, Tim te Beek
Last updated