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 <
google-web-toolkit-contributors@googlegroups.com> 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 <niloc...@gmail.com> 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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
>> 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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
> 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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
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