Step 1 of 4: Choose Issues


T Key Summary Assignee Reporter Status Created Updated Components Description
Sub-task WELD-2490

WELD-2460 Weld uses JDK's internal BCEL classes

Matěj Novotný Matěj Novotný Resolved  

Weld's org.jboss.weld.util.reflection.Formats uses JDK's internal BCEL classes.
This yield illegal access on JDK 9+.

The only purpose of this class is to provide more information about line on which a problem occurred in bytecode. And even with this, the functionality is limited.

Best way to handle this will be adding an optional dependency on BCEL classes as a Maven artifact.

Sub-task WELD-2488

WELD-2460 JDK 9/10 testing

Matěj Novotný Matěj Novotný Resolved  

Make sure Weld is able to run our tests and TCK tests in container (with WFLY) and standalone. [This issue does not need to result in a PR directly]

Namely we need to:

  • Have all release jobs for Weld 3 in a matrix config for JDK 8 and 10
  • Have working PR executors for JDK 8 and 10
    • 10 may be limited right now as spotbugs and other stuff may not work
  • Update/align test dependencies to work on JDK 10
  • Possibly execute on JDK 10 with --illegal-access=deny

Servlet integration is not a priority here but should get a separate review later on.

Sub-task WELD-2487

WELD-2460 Update JBoss Classfilewriter to 1.2.2.Final

Matěj Novotný Matěj Novotný Resolved  

Update classfilewriter to 1.2.2.Final, that's the lowest version capable of dealing with JDK 10 and illegal access (via Unsafe).

Note that we need to do this even for compilation (plus some modules override version, watch out for that).

Sub-task WELD-2463

WELD-2460 ProbeObserversTest relies on a specific java.lang.annotation.Annotation.toString() implementation

Matěj Novotný Martin Kouba Resolved Development Tools (Probe)

It seems that the impl differs in Oracle JDK 8 and Oracle JDK 9. We should either modify Probe to build annotation string representation (regardless of JDK version/impl) instead of using Annotation.toString() or modify the test.