Skip to content

Conversation

@tkindy
Copy link
Contributor

@tkindy tkindy commented Oct 22, 2025

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.

--batch-mode \
-no-transfer-progress \
-V \
-Dproject.build.jdk.version=${{ matrix.java }} \
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This bump is required to upgrade to a version of Byte Buddy that understands Java 25 class files.

Comment on lines +184 to +187
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
</dependency>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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. 🤷

Comment on lines +347 to +352
<annotationProcessorPaths>
<path>
<groupId>org.immutables</groupId>
<artifactId>value</artifactId>
</path>
</annotationProcessorPaths>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Java 25 requires that we explicitly enable annotation processing. I chose to do that here by manually specifying the Immutables processor.

@tkindy tkindy marked this pull request as ready for review October 22, 2025 16:09
@tkindy tkindy merged commit 8d01d13 into master Oct 22, 2025
7 checks passed
@tkindy tkindy deleted the tk/bump-basepom branch October 22, 2025 17:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants