Conversation
| --batch-mode \ | ||
| -no-transfer-progress \ | ||
| -V \ | ||
| -Dproject.build.jdk.version=${{ matrix.java }} \ |
There was a problem hiding this comment.
This property sets the JDK toolchain-aware plugins, like maven-compiler-plugin and maven-surefire-plugin, use for their forked JVMs.
| <dep.plugin.javadoc.version>3.0.1</dep.plugin.javadoc.version> | ||
| <dep.hubspot-immutables.version>1.9</dep.hubspot-immutables.version> | ||
| <dep.algebra.version>1.5</dep.algebra.version> | ||
| <dep.mockito.version>5.20.0</dep.mockito.version> |
There was a problem hiding this comment.
This bump is required to upgrade to a version of Byte Buddy that understands Java 25 class files.
| <dependency> | ||
| <groupId>com.google.errorprone</groupId> | ||
| <artifactId>error_prone_annotations</artifactId> | ||
| </dependency> |
There was a problem hiding this comment.
Some of these annotations (like @CanIgnoreReturnValue) are now getting added to the generated Immutables, but I'm not sure why. Seems like Immutables will add them if they're on the classpath, but from what I can tell, they've always been on the classpath via Guava. 🤷
| <annotationProcessorPaths> | ||
| <path> | ||
| <groupId>org.immutables</groupId> | ||
| <artifactId>value</artifactId> | ||
| </path> | ||
| </annotationProcessorPaths> |
There was a problem hiding this comment.
Java 25 requires that we explicitly enable annotation processing. I chose to do that here by manually specifying the Immutables processor.
This PR bumps the version of basepom this project uses to the latest, 65.1.
This bump introduces our usage of Maven toolchains which let us use a different version of the JDK to compile, run tests, etc. than the one that the Maven process is running on. This requires a few changes to the POM and GitHub Actions configuration.
I also configured the CI workflow to build and test against all current LTS versions.