[wildfly-dev] WildFly Java 9 support & CI job
Rostislav Svoboda
rsvoboda at redhat.com
Fri Mar 9 03:10:55 EST 2018
+1 for some coverage on this.
I think running Quickstarts with -target 9 is good option too.
I'm looking into preparing matrix job to run it in our Jenkins.
Probably daily job for latest wf master + qs master.
and we need https://github.com/wildfly/wildfly-core/pull/3157 before we move on
Rostislav
----- Original Message -----
> I can take a look at it.
> As long as we don't use any non public app in tests suite, it should work.
>
> But this still wouldn't catch issues like this, as we wouldn't not have
> deployments with module-info.class present.
>
> But it would certainly have its benefits.
>
> --
> Tomaž
>
> On Fri, 9 Mar 2018 at 00:13, Stuart Douglas < stuart.w.douglas at gmail.com >
> wrote:
>
>
>
> Could we look at making one or all of the test suite modules compile using
> -target 9 ? This was the server is still built the same way, but it should
> pick up issues like this in testing.
>
> Stuart
> On Wed, Mar 7, 2018 at 8:35 PM, Tomaž Cerar < tomaz.cerar at gmail.com > wrote:
>
>
>
>
>
> Hey Jaikiran,
>
>
>
> yes there are known issues with Jandex and also with few proposed fixes but
> we didn’t manage to get them merged and/or released.
>
>
>
> When it comes to -source / -target 9 compiling there is a reason why we do
> not use it. Yet!
>
> When one switches to compile for -target 9, whole behavior of compiler
> changes as result we can no longer access non public classes or modules.
>
> Unless we add module-info.java for problematic maven modules.
>
> But adding module-info.java means all (maven) compile dependencies of said
> maven module need to be jigsaw compatible, which at this point is not really
> there yet.
>
>
>
> Currently we have to problematic modules that cause issues with this.
>
> “cli” in wildfly-core, and “security” in wildfly repository.
>
>
>
> Both of them have quite big dependency tree where many of its jars are not
> jigsaw compatible.
>
>
>
> I do have working branch that has quite some work done on this subject, but
> until we get dependencies fixed to not violate jigsaw rules, it cannot be
> completed.
>
>
>
> Here is non complete list of Jira issues that track jigsaw problems in our
> dependencies that prevent cli and security to be compiled with target = 9
>
> https://issues.jboss.org/browse/SECURITY-986
>
> https://issues.jboss.org/browse/SECURITY-985
>
> https://issues.jboss.org/browse/ISPN-8844
>
> https://issues.jboss.org/browse/AESH-458
>
> https://issues.jboss.org/browse/AESH-457
>
>
>
> So in short our support of JDK9/10 is currently scoped only to using it as
> runtime JDK of the server. None of the jigsaw related features will work in
> deployments.
>
> Said all that, jandex problem is real, we will fix it.
>
>
>
> --
>
> tomaz
>
>
>
>
>
>
> From: Jaikiran Pai
> Sent: sreda, 07. marec 2018 06:11
> To: wildfly-dev at lists.jboss.org
> Subject: [wildfly-dev] WildFly Java 9 support & CI job
>
>
>
>
> It appears that the recent release of WildFly 12.0.0.Final has a major issue
> with Java 9 support for deployments. More specifically, if the application
> being deployed is compiled using Java 9 JDK then the annotation processing
> (through Jandex) causes such classes to skip the annotation indexing,
> effectively missing any annotation information present on them. There's a
> JIRA for it here[1] and I think another user here in the forum thread[2] is
> affected by the same issue. I see that Stuart is already upgrading Jandex
> which includes a fix, so this mail isn't really about fixing this issue.
>
> Given the ease with which this got reproduced and the fact that we missed it
> in our regular integration job for Java 9 [3], I looked around to see why we
> couldn't catch this earlier. It looks like the WildFly pom.xml uses
> org.jboss:jboss-parent:25 [4] which fixes the target class version of the
> compilation to 1.8. As a result, even though the CI job uses Java 9 to
> compile the application sources (in test cases) it ends up with a class
> version to Java 8 and that explains why these issues weren't caught earlier.
>
> So would it be possible to have another variant of this CI job which passes
> Java 9 as the target version for compiled sources, as a system property
> value (the pom.xml of jboss-parent allows the value to be configured through
> properties)?
>
> [1] https://issues.jboss.org/browse/WFLY-9961
>
> [2] https://developer.jboss.org/thread/277401
>
> [3]
> https://ci.wildfly.org/viewType.html?buildTypeId=WF_MasterLinuxJdk9&branch_WF=__all_branches__
>
> [4]
> http://repo1.maven.org/maven2/org/jboss/jboss-parent/25/jboss-parent-25.pom
>
> -Jaikiran
>
>
>
>
>
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev
More information about the wildfly-dev
mailing list