com.yourorg.foo
to com.yourorg.bar
com.yourorg.foo
package.mvn rewrite:run
or gradlew rewriteRun
to apply the transformation to project A. Source files referencing the old package will be updated. Sources that were part of the com.yourorg.foo package will also be moved to directories corresponding to the new package name.mvn rewrite:run
or gradlew rewriteRun
to apply the transformation to project B. Note that we didn't have to create a rewrite.yml in project B because it found the recipe directly from its dependency on A version 2.0. So In only a few minutes, we've applied a refactoring operation to a project and its consumer and development on both can continue, effectively minimizing the pain and disruption brought by the breaking change.