All,
The release managers have bumped-up their tool chains to Java 17 or
later for all supported releases. Tomcat 11 requires Java 21. Tomcat
8.5.x only requires Java 11.
But the documented Java versions for each release are actually:
Tomcat 11 - Java 21
Tomcat 10 - Java 11
Tomcat 9 - Java 8
Tomcat 8 - Java 7
Theoretically, anyone ought to be able to build Tomcat with the
minimum-required Java version for that branch. There are some practical
reasons why you can't build Tomcat 8.5.x with Java 7 but those have more
to do with supporting versions of Java *after* 7 than anything else.
I'd like to be able to allow anyone to build their Tomcat from source
using our tooling (e.g. ant-based build) and the minimum Java version
(with one exception: No support for Java 7 for builds).
Take Tomcat 9.0.x for example. The ant-based build will complain if you
are using Java 11 to build, because the build tools demand the use of
Java 17. If you simply change the "required version" from 17 to 11, the
build works perfectly fine.
I honestly can't remember why we switched everything from Java 11 to
Java 17 for Tomcat 9.0.x, but the point is that it works. We may still
want to do official releases using Java 17 or 21 or whatever, but
*regular users* ought to be able to build from source without too much
trouble.
I'm wondering if we could do something like the following:
1. Change build.java.version to be the *actual* minimum supported JDK
for the build. This would be the lowest version of Java known to
successfully compile the package. I would argue this should be set to
the "Minimum Java Version" for that release.
2. Introduce a new release.java.version to be set to the minimum
supported JDK for a *release* build. This can be set to whatever the
release managers deem appropriate.
3. During "ant pre-release", we take the release.java.version setting
and copy it into the build.properties.release file like this:
build.java.version=${release.java.version}
Then, when a release-build is performed, it will require the (likely)
later version of Java. But that will still allow non-release-managers to
build locally using potentially older versions of Java.
WDYT?
-chris
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org