<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <tt>Hi T</tt><tt>omaz,</tt><tt><br>
    </tt><tt><br>
    </tt><tt>Thank you for the detailed explanation. I </tt><tt>wasn't
      a</tt><tt>ware </tt><tt>that it's this much more involved </tt><tt>w</tt><tt>ith
      switching to -target 9<tt>. </tt></tt><tt>I certainly need to
      catch </tt><tt>up wit</tt><tt>h these more frequent Java releases
      soo</tt><tt>n </tt><tt>:)</tt><tt><br>
    </tt><tt><br>
    </tt><tt>-Jaikiran</tt><tt><br>
    </tt><tt><br>
    </tt><tt><br>
    </tt>
    <div class="moz-cite-prefix"><tt>On 07/03/18 3:05 PM, Tomaž Cerar
        wrote:</tt><tt><br>
      </tt></div>
    <blockquote type="cite"
      cite="mid:5a9fb24e.01da1c0a.97901.e866@mx.google.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
      <div class="WordSection1"><tt><span lang="EN-US">Hey Jaikiran,<o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US"><o:p> </o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">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.<o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US"><o:p> </o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">When it comes to -source / -target 9
            compiling there is a reason why we do not use it. Yet!<o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">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.<o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">Unless we add module-info.java for
            problematic maven modules. <o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">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.<o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US"><o:p> </o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">Currently we have to problematic
            modules that cause issues with this.<o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">“cli” in wildfly-core, and
            “security” in wildfly repository.<o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US"><o:p> </o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">Both of them have quite big
            dependency tree where many of its jars are not jigsaw
            compatible.<o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US"><o:p> </o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">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.<o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US"><o:p> </o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">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<o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US"><a
              href="https://issues.jboss.org/browse/SECURITY-986"
              moz-do-not-send="true">https://issues.jboss.org/browse/SECURITY-986</a><o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US"><a
              href="https://issues.jboss.org/browse/SECURITY-985"
              moz-do-not-send="true">https://issues.jboss.org/browse/SECURITY-985</a><o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US"><a
              href="https://issues.jboss.org/browse/ISPN-8844"
              moz-do-not-send="true">https://issues.jboss.org/browse/ISPN-8844</a><o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US"><a
              href="https://issues.jboss.org/browse/AESH-458"
              moz-do-not-send="true">https://issues.jboss.org/browse/AESH-458</a><o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US"><a
              href="https://issues.jboss.org/browse/AESH-457"
              moz-do-not-send="true">https://issues.jboss.org/browse/AESH-457</a><o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US"><o:p> </o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">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.<o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">Said all that, jandex problem is
            real, we will fix it.<o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US"><o:p> </o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">--<o:p></o:p></span></tt><tt><br>
        </tt><tt><span lang="EN-US">tomaz<o:p></o:p></span></tt><tt><br>
        </tt><tt><o:p> </o:p></tt><tt><br>
        </tt><tt><o:p> </o:p></tt>
        <div
          style="mso-element:para-border-div;border:none;border-top:solid
          #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm"><tt><b>From: </b></tt><tt><a
              href="mailto:jai.forums2013@gmail.com"
              moz-do-not-send="true">Jaikiran Pai</a></tt><tt><br>
          </tt><tt><b>Sent: </b></tt><tt>sreda, 07. marec 2018 06:11</tt><tt><br>
          </tt><tt><b>To: </b></tt><tt><a
              href="mailto:wildfly-dev@lists.jboss.org"
              moz-do-not-send="true">wildfly-dev@lists.jboss.org</a></tt><tt><br>
          </tt><tt><b>Subject: </b></tt><tt>[wildfly-dev] WildFly Java
            9 support &amp; CI job</tt></div>
        <tt><o:p> </o:p></tt><tt><br>
        </tt><tt><span style="font-size:10.0pt">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 <i>think</i> 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. </span></tt><tt><br>
        </tt><tt><span style="font-size:10.0pt">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.</span></tt><tt><br>
        </tt><tt><span style="font-size:10.0pt">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)? </span></tt><tt><br>
        </tt><tt><span style="font-size:10.0pt">[1] <a
              href="https://issues.jboss.org/browse/WFLY-9961"
              moz-do-not-send="true">https://issues.jboss.org/browse/WFLY-9961</a></span></tt><tt><br>
        </tt><tt><span style="font-size:10.0pt">[2] <a
              href="https://developer.jboss.org/thread/277401"
              moz-do-not-send="true">https://developer.jboss.org/thread/277401</a></span></tt><tt><br>
        </tt><tt><span style="font-size:10.0pt">[3] <a
href="https://ci.wildfly.org/viewType.html?buildTypeId=WF_MasterLinuxJdk9&amp;branch_WF=__all_branches__"
              moz-do-not-send="true">https://ci.wildfly.org/viewType.html?buildTypeId=WF_MasterLinuxJdk9&amp;branch_WF=__all_branches__</a></span></tt><tt><br>
        </tt><tt>[4] </tt><tt><a
href="http://repo1.maven.org/maven2/org/jboss/jboss-parent/25/jboss-parent-25.pom"
            moz-do-not-send="true">http://repo1.maven.org/maven2/org/jboss/jboss-parent/25/jboss-parent-25.pom</a></tt><tt><br>
        </tt><tt>-Jaikiran</tt><tt><br>
        </tt><tt><span style="color:black"><o:p> </o:p></span></tt></div>
    </blockquote>
    <tt><br>
    </tt>
  </body>
</html>