GitHub only
Migrate a Java 8 app to Java 17
Devin records tests and a benchmark on Java 8, replaces APIs removed from the JDK, and compares the same numbers on Java 17.
Steps
- Enter your GitHub user or org. The links and the prompt on this page use it.
- Create your own copy of the starter repo. Open GitHub's new-repository page for devin-demo-java-migration, choose your account as the owner, keep the name
devin-demo-java-migration, and click Create repository. - Make sure Devin can access the new repo under Settings → Connections → GitHub.
- Start a session at app.devin.ai and paste the prompt below.
Prompt
Migrate https://github.com/<you>/devin-demo-java-migration from Java 8 to Java 17.
Before touching anything, capture a baseline on Java 8: full `mvn test` results and the invoice benchmark (see README). Then plan the migration, replace removed/internal APIs (sun.misc.BASE64*, javax.xml.bind, Joda-Time where sensible), bump JUnit and the compiler target, and get the suite green on Java 17.
Deliver a PR with a before/after report in the description: test counts per JDK, benchmark elapsed_ms per JDK (same input size), every API replaced and why, and any behavioral risks. If Maven Central rate-limits you, use the GCS mirror https://maven-central.storage-download.googleapis.com/maven2/.What to watch
- It captures tests and a benchmark on Java 8 first.
- It explains every API it replaces and why.
You're done when
- The suite is green on Java 17.
- The PR has before/after test counts and benchmark times per JDK, plus behavioural risks.