# 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 | ```bash 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 |