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.

Needs
GitHub
Starter
devin-demo-java-migration

Steps

  1. Enter your GitHub user or org. The links and the prompt on this page use it.
  2. 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.
  3. Make sure Devin can access the new repo under Settings → Connections → GitHub.
  4. 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.
Next labImplement a feature from a spec