On 11/01/2023 14:13, Michael Osipov wrote:
While I cannot comment on Tomcat 11 requirements and Java 21 is
unavoidable I'd like to comment on this because I consider it wrong:
We could switch all branches to Java 17 as the the default build JRE
now as that supports targeting Java 7 onwards. That would allow us to
easily use some newer Java features in Tomcat 11 whilst still only
requiring RMs to use a single JDK version. If there are no objections
I'll do this shortly.
This will basically kill Tomcat 9.x and 10.x for those who:
* Want/need to build from source
* Run tests in their setup
* Provide fixes/patches
where Java 17 is not available for them, e.g. commercial Unix or any
other circumstance (company policy, etc.). I already dislike the move
done with Spring Framework 6/Boot 3, this just cuts off a tremendous
user base.
For as long as 8/11 [1] receive support I wouldn't do this step at all.
I'd take the baseline the Java EE version requires.
Nothing in the proposed change stops you building with an earlier
version of Java. This is simply a change to the *default* build JRE.
To confirm, I just updated this locally to 17 for 9.0.x and then happily
completed both "ant clean deploy" and "ant release" using Java 11.
That wasn't really clear from your first mail. I understood that you
want to enfore to build with Java 17 although --release is 8.
Even if not, there is another problem with that: When you build with
Java 17, that build cannot be reproduced on Java 11 or 8 because class
file content will be different. At Maven we verify release votes with
the same OS class (Windows or POSIX-like) and Java 8. Having everything
produced with 17, well...still limits others.
M
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org