This page holds an example Codemodder codemod, built with Gradle, as discussed in the codemodder.io tutorial.
The newer methods in java.nio.file.Files
replaced the need for some of community-loved APIs in org.apache.commons.io.FileUtils
. and this project demonstrates creating a codemod to move org.apache.commons.io.FileUtils#readLines()
to java.nio.file.Files.readAllLines()
. The codemod should make changes like this:
- import org.apache.commons.io.FileUtils; // remove the import if possible
+ import java.nio.file.Files;
...
- List<String> lines = FilesUtils.readLines(file);
+ List<String> lines = Files.readAllLines(file.toPath());
$ ./gradlew check
$ ./gradlew distZip
After building, you can run the distribution packaged in the distZip
task.
$ cd app/build/distributions/
$ unzip app.zip
# do it without making the actual code changes on disk
$ app/bin/app --dry-run /my-project
# do it and make the actual code changes
$ app/bin/app /my-project