I agree with this statement: "it seems like the clearest win is to move all
the way to Java11, though continue to target java 8 releases, and test on
all JREs up until current."

On Mon, Jun 29, 2020 at 10:21 PM 'Goktug Gokdogan' via GWT Contributors <
[email protected]> wrote:

> wrt running tests:
> See https://gwt-review.googlesource.com/c/gwt/+/13861 for the pattern
> used in JRE earlier; and the CI was updated to run in both 7 and 8 at the
> same time.
>
> PS: Compiler tests ("jjs.test.Java8Test") was different because we really
> needed to run the compiler tests with new syntax inside Google which didn't
> have the Java8 VM at the time. It wasn't a deal breaker to be not able run
> Java8 JRE tests at the time so they are not super sourced.
>
> I recommend the same approach.
>
>
> On Mon, Jun 29, 2020 at 6:45 PM Colin Alworth <[email protected]> wrote:
>
>> As of somewhere in the time leading up to the GWT 2.9.0 release, it is no
>> longer possible to build GWT with Java7, and similarly the decision was
>> made to no longer officially support running on Java7
>> (jsinterop-annotations use of "TYPE_USE", newer jetty version too I
>> believe).
>>
>> There is still some defunct wiring in the build to handle Java 7 vs Java
>> 8 though, mostly with regards to running tests - since we first javac our
>> java classes, and then run gwtc on them, we need to make sure that the java
>> version being use can correctly compile those tests.
>>
>> The issue https://github.com/gwtproject/gwt/issues/9683 is tracking some
>> of the existing work on this: the main remaining piece is to decide how to
>> handle javadoc. GWT has its own custom doclet to handle a few custom tags,
>> "example", "gwt.include", and "tip". None of this compiles after Java 8,
>> since Java 9 came with a new, incompatible API to build custom tags, so
>> either we drop Java 8 support for building the toolkit, require _only_ Java
>> 8 to build, support two parallel copies of the custom doc wiring, or drop
>> the doc wiring entirely and remove these custom tags throughout the
>> codebase.
>>
>> Since the release of GWT 2.9 and my own work on the above ticket, I've
>> been picking back up some Java 9/10/11 JRE emulation work that I had
>> previously paused, and I'm running into the issue described at the top - if
>> you write a test that calls Map.of() and run it on Java8 as a GWTTestCase,
>> you'll get a compile error.
>>
>> Two basic ways I can easily see to fix this: we can make two copies of
>> each test, one as an empty "real" java type and one as supersource, or we
>> can guard those tests behind java version args in the build glue like we
>> did for Java7 vs Java8. The first option is clunky, and while I see this
>> was done for `com.google.gwt.dev.jjs.test.Java8Test`, it clearly wasn't
>> done for JRE emulation tests, and I assume there was a reason for that. The
>> second option requires changing our CI to build+test on some new JRE...
>>
>> ...and given the constraints of the Java LTS system, and the java 8/9
>> divide for custom doclet stuff, it seems like the clearest win is to move
>> all the way to Java11, though continue to target java 8 releases, and test
>> on all JREs up until current.
>>
>> So that's my pitch. For completeness, some other options that seem
>> workable, keeping in mind that at present there are about 3 important JRE
>> versions to support well: Java 8, Java 11, and the current stable release.
>>  * Require Java8 for javadoc, supersource tests
>>  * Allow any JRE 8+, use ant filters for tests for each version, maintain
>> two javadoc builds
>>  * Allow any JRE 8+, use ant filters, only actually produce javadoc on
>> java9+ builds
>>
>> Other technical ways to deal with this, or have a missed an easier
>> solution to one of these problems?
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "GWT Contributors" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/google-web-toolkit-contributors/0aa0701b-4287-4e4c-bbef-23952898c64an%40googlegroups.com
>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/0aa0701b-4287-4e4c-bbef-23952898c64an%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Contributors" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAN%3DyUA1L4gAaaEkqgWnqL%3DiKDX_aUjX1L0WThdG4yuxUyHdQMQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAN%3DyUA1L4gAaaEkqgWnqL%3DiKDX_aUjX1L0WThdG4yuxUyHdQMQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAKAo3tTpuZW9tRCv-GFXPF8suvpeOJ4fJZQmB%2BpgZj2PGc7_bA%40mail.gmail.com.

Reply via email to