Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.6.0
    • Fix Version/s: 3.6.1
    • Labels:
      None

      Description

      JDK 9 build b148 includes an important Refresh of the module system.

      This refresh includes a disruptive change that is important to understand.

      For those that have been trying out modules with regular JDK 9 builds then be aware that `requires public` changes to `requires transitive`. In addition, the binary representation of the module declaration (module-info.class) has changed so that you need to recompile any modules that were compiled with previous JDK 9 builds.

      To be able to compile the test sources, you must specify the module name (i.e -Xmodule:the.module.name). This information is already available in src/main/java/module-info.java, so no need to ask for it again. Due to the change of the binary representation the original trick wiith ASM-6.0_ALPHA doesn't work anymore.
      We're going to add a second parser based on QDox, which doesn't parse the class file but the source file. This way we have to options to extract the module name.

        Activity

        Hide
        rfscholte Robert Scholte added a comment -

        Fixed in r1778347

        Show
        rfscholte Robert Scholte added a comment - Fixed in r1778347
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Jenkins build maven-plugins #8511 (See https://builds.apache.org/job/maven-plugins/8511/)
        MCOMPILER-285: Support test-compile for JDK 9 build b148+
        Introduce QDoxModuleInfoParser to have a fallback if ASM fails (rfscholte: http://svn.apache.org/viewvc/?view=rev&rev=1778347)

        • (edit) maven-compiler-plugin/pom.xml
        • (edit) maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/AsmModuleInfoParser.java
        • (edit) maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/ModuleInfoParser.java
        • (add) maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/ModuleInfoParser.java.bak
        • (add) maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/QDoxModuleInfoParser.java
        • (edit) maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/TestCompilerMojo.java
        • (edit) maven-compiler-plugin/src/test/java/org/apache/maven/plugin/compiler/CompilerMojoTestCase.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Jenkins build maven-plugins #8511 (See https://builds.apache.org/job/maven-plugins/8511/ ) MCOMPILER-285 : Support test-compile for JDK 9 build b148+ Introduce QDoxModuleInfoParser to have a fallback if ASM fails (rfscholte: http://svn.apache.org/viewvc/?view=rev&rev=1778347 ) (edit) maven-compiler-plugin/pom.xml (edit) maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/AsmModuleInfoParser.java (edit) maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/ModuleInfoParser.java (add) maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/ModuleInfoParser.java.bak (add) maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/QDoxModuleInfoParser.java (edit) maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/TestCompilerMojo.java (edit) maven-compiler-plugin/src/test/java/org/apache/maven/plugin/compiler/CompilerMojoTestCase.java

          People

          • Assignee:
            rfscholte Robert Scholte
            Reporter:
            rfscholte Robert Scholte
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development