Hi everyone!

Earlier this year I worked on a project where we upgraded all Tapestry apps
of one of our client to Java 11 with source & target compatibility = 11. We
were using custom version of Tapestry with only one patch on top of current
state of the master which I just checked in to the main code base:

https://issues.apache.org/jira/browse/TAP5-2611

However I couldn't find a way to write a test for it as it would require
some test classes compiled with Java 11 target compatibility level.

I've found the following issue discussing migration path to Java 11 for the
Tapestry build, but the issue is now closed and there were not conclusion
on what should be done next:

https://issues.apache.org/jira/browse/TAP5-2588

I tried to upgrade the build to Java 11 before I found discussion in
TAP5-2588, and I even upgraded most of it while experimenting and got all
the tests green, except tapestry-javadoc module, which at first glance
requires code rewrite and not just library upgrades and minor fixes as it
was with core modules.

I found that current build has some customisations for Java 9, and in
TAP5-2588 there were discussions about supporting Java 10 also, but I don't
think that's necessary at the moment when Java 11 -- current LTS release --
is out, as those are intermediate releases and are already not supported.

So I would suggest to go straight to Java 11 after we release current state
of master (5.5.x).

Starting from 5.6 all releases can remain binary compatible with java 8,
but the build itself may leverage the java 11 compiler to start testing
java 8+ compatibility, as required by TAP5-2611, for example.

What do you think?

Best regards,
Dmitry

Reply via email to