Files

openrewrite

Companion module for the ankurm.com post Automating javax → jakarta and Boot 3 → 4 Upgrades with OpenRewrite.

legacy-app/ is a small Spring Boot 2.7.18 application (JPA, validation, security, a servlet filter, RestTemplate, a JUnit 4 test, a spring.factories auto-configuration). scripts/run-all.sh copies it to a scratch directory outside this checkout, runs two OpenRewrite recipes in sequence, builds and tests after each, and records everything under output/.

Tool Version
rewrite-maven-plugin 6.46.1
rewrite-spring 6.37.1
rewrite-migrate-java 3.42.1
JDK / Maven 17 / 3.9
export JAVA_HOME=/path/to/jdk17
./scripts/run-all.sh
Output Shows
00-gotcha-gitignore.txt OpenRewrite silently skips sources that git ignores
01-baseline.txt Legacy app builds and passes on Boot 2.7.18
02-step1-diff.txt / 03-step1-build.txt UpgradeSpringBoot_3_5: diff and build
04-step2-diff.txt / 05-step2-build.txt UpgradeSpringBoot_4_0: diff and build
06-what-it-left-behind.txt What the recipes did not change
07-step3-boot-4.1.1.txt Hand bump from 4.0.x to 4.1.1, build and test
08-ci-gate.txt rewrite:dryRun exit codes, including a property-name trap