Mark,
On 11/14/23 11:53, Mark Thomas wrote:
All,
We are currently unable to produce cross-platform repeatable builds for
Tomcat 8.5.x with Java 11 due to
https://bugs.openjdk.org/browse/JDK-8320082
We have several options:
1. Do nothing. Build remains repeatable on the same OS. Wait and see if
OpenJDK fix the bug.
2. Switch to building 8.5.x releases with Java 17.
3. Something else.
I feel like it's important to test 8.5.x on Java 8 up through EOL since
it's really the most likely pre-11 JVM that will be used, and it just
has to work. My current testing process uses Java 8 for that, so I'm
okay with it.
I can build with virtually any JVM and the testing will reveal if there
are any issues.
Java 11 appears to have reached EOL for "normal people" so I might guess
that the OpenJDK project may decline to fix the bug.
If we build with Java 17, we may as well build with Java 20 as that's
the most-recent LTS version and will probably get the best support from
the OpenJDK project. Back-ports are possible, but we shouldn't rely on
them. (This reminds me that I user Java 21 to build 10.1.6. I should
back-off to Java 20 instead so I'm using an LTS version.)
I can't think of much that we can do for #3. #1 means that we aren't as
reproducible as possible, so I guess that makes me:
+1 for #2, but with Java 20 as the preferred build platform.
Note: The Tomcat 8.5.x tests will not pass if executed on Java 17 due
to an incompatibility with the ECJ JAR that ships with 8.5.x.
Yep. This is something I'm considering working-around in my test script,
which builds Tomcat from source before running he unit tests. We just
have to alter the version of ECJ that gets downloaded during the build.
I'm already building a build.properties file prior to running the build,
so detecting the Java version and adjusting as necessary isn't an issue.
Thanks,
-chris
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org