rewriteDSL is available for configuration.
rewriteDSL exposes a few configuration options:
activeRecipe- Explicitly turns on recipes by name (the name given in the
specs.openrewrite.org/v1beta/reciperesource). No recipe is run unless explicitly turned on with this setting.
activeStyle- Explicitly turns on a style by name (the name given in the
specs.openrewrite.org/v1beta/styleresource). No style is applied unless explicitly turned on with this setting.
configFile- Where to look for a OpenRewrite YML configuration file somewhere in the project directory (or really anywhere on disk). This file is not required to exist. If not specified otherwise, the default value is
<root project directory>/rewrite.yml.
failOnDryRunResults- Boolean flag toggling whether
rewriteDryRunshould throw an exception and non-zero exit code if changes are detected. Default is
rewritedependency configuration, you can tell the Gradle plugin to activate it the
rewriteDSL. For example, here is how you would activate the
org.openrewrite.java.testing.junit5.JUnit5BestPracticesrecipe that comes with
rewrite-testing-frameworksin a single-project Gradle build:
gradle rewriteRunto run the active recipes and apply the changes. This will write changes locally to your source files on disk. Afterward, review the changes, and when you are comfortable with the changes, commit them. The
rungoal generates warnings in the build log wherever it makes changes to source files.
git diff(or your VCS system's equivalent) to see what changes were made, review, and commit them.
gradle rewriteDryRunto dry-run the active recipes and print which visitors would make changes to which files to the build log. This does not alter your source files on disk at all. This goal can be used to preview the changes that would be made by the active recipes.
rewriteDryRunoutputs a report in the form of a
patchfile, by default under
build/reports/rewrite/rewrite.patch, containing changes that would be made if you were to run
patchfile can be used with
diffto view or apply the potential changes. For example,
git diff . build/reports/rewrite/rewrite.patch.
rewriteDryRuncan be used as a "gate" in a continuous integration environment by failing the build if
rewriteDryRundetects changes to be made and
failOnDryRunResultsis set to
rewriteDryRuncan be configured so that when
gradle rewriteDiscoverto list the recipes available on your classpath.