I just looked at the code. It is only adding the versioned class paths when 
there is a module descriptor in the current source directory. I might be able 
to put one in here, as a workaround.

> On Feb 12, 2019, at 2:47 PM, Robert Scholte <[email protected]> wrote:
> 
> I thought I had written an IT for it, but can't find it.
> Looks like you found a bug.
> 
> Robert
> 
> On Tue, 12 Feb 2019 20:03:10 +0100, Russell Gold <[email protected]> 
> wrote:
> 
>> But it doesn’t appear to be working for me.
>> 
>>> [INFO] --- maven-compiler-plugin:3.8.0:compile (java9) @ pfl-basic ---
>>> [DEBUG] Configuring mojo 
>>> org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile from plugin 
>>> realm 
>>> ClassRealm[plugin>org.apache.maven.plugins:maven-compiler-plugin:3.8.0, 
>>> parent: jdk.internal.loader.ClassLoaders$AppClassLoader@799f7e29]
>>> [DEBUG] Configuring mojo 
>>> 'org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile' with basic 
>>> configurator -->
>>> [DEBUG]   (f) basedir = 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic
>>> [DEBUG]   (f) buildDirectory = 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target
>>> [DEBUG]   (f) compilePath = 
>>> [/Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes]
>>> [DEBUG]   (f) compileSourceRoots = 
>>> [/Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9]
>>> [DEBUG]   (f) compilerId = javac
>>> [DEBUG]   (f) debug = true
>>> [DEBUG]   (f) encoding = UTF-8
>>> [DEBUG]   (f) failOnError = true
>>> [DEBUG]   (f) failOnWarning = false
>>> [DEBUG]   (f) forceJavacCompilerUse = false
>>> [DEBUG]   (f) fork = false
>>> [DEBUG]   (f) generatedSourcesDirectory = 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>>> [DEBUG]   (f) jdkToolchain = {version=9}
>>> [DEBUG]   (f) mojoExecution = 
>>> org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile {execution: 
>>> java9}
>>> [DEBUG]   (f) multiReleaseOutput = true
>>> [DEBUG]   (f) optimize = false
>>> [DEBUG]   (f) outputDirectory = 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes
>>> [DEBUG]   (f) parameters = false
>>> [DEBUG]   (f) project = MavenProject: 
>>> org.glassfish.pfl:pfl-basic:4.0.1-SNAPSHOT @ 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/pom.xml
>>> [DEBUG]   (f) projectArtifact = 
>>> org.glassfish.pfl:pfl-basic:jar:4.0.1-SNAPSHOT
>>> [DEBUG]   (s) release = 9
>>> [DEBUG]   (f) session = org.apache.maven.execution.MavenSession@7640a5b1
>>> [DEBUG]   (f) showDeprecation = false
>>> [DEBUG]   (f) showWarnings = false
>>> [DEBUG]   (f) skipMultiThreadWarning = false
>>> [DEBUG]   (f) source = 1.7
>>> [DEBUG]   (f) staleMillis = 0
>>> [DEBUG]   (s) target = 1.7
>>> [DEBUG]   (f) useIncrementalCompilation = true
>>> [DEBUG]   (f) verbose = false
>>> [DEBUG] -- end configuration --
>>> [DEBUG] Using compiler 'javac'.
>>> [DEBUG] Toolchain 
>>> JDK[/Library/Java/JavaVirtualMachines/1.6.0_41-b02-445.jdk/Contents/Home] 
>>> doesn't match required property: version
>>> [DEBUG] Toolchain 
>>> JDK[/Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home] 
>>> doesn't match required property: version
>>> [DEBUG] Toolchain 
>>> JDK[/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home] doesn't 
>>> match required property: version
>>> [DEBUG] Toolchain 
>>> JDK[/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home] doesn't 
>>> match required property: version
>>> [INFO] Toolchain in maven-compiler-plugin: 
>>> JDK[/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home]
>>> [DEBUG] Adding 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>>>  to compile source roots:
>>>  /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java
>>>  
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>>> [DEBUG] New compile source roots:
>>>  /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java
>>>  
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>>> [DEBUG] CompilerReuseStrategy: reuseCreated
>>> [DEBUG] useIncrementalCompilation enabled
>>> [DEBUG] Stale source detected: 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/Bridge.java
>>> [DEBUG] Stale source detected: 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/BridgeBase9.java
>>> [INFO] Changes detected - recompiling the module!
>>> [DEBUG] Classpath:
>>> [DEBUG]  
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes
>>> [DEBUG] Source roots:
>>> [DEBUG]  
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9
>>> [DEBUG] Excutable:
>>> [DEBUG]  /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/bin/javac
>>> [DEBUG] Command line options:
>>> [DEBUG] -d 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes/META-INF/versions/9
>>>  -classpath 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes: 
>>> -sourcepath 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9:/Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations:
>>>  
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/Bridge.java
>>>  
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/BridgeBase9.java
>>>  -s 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>>>  -g -nowarn --release 9 -encoding UTF-8
>>> [DEBUG] incrementalBuildHelper#beforeRebuildExecution
>>> [INFO] Compiling 2 source files to 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes/META-INF/versions/9
>>> [DEBUG] incrementalBuildHelper#afterRebuildExecution
>>> [WARNING] 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/BridgeBase9.java:[23,18]
>>>  ReflectionFactory is internal proprietary API and may be removed in a 
>>> future release
>>> [WARNING] 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/BridgeBase9.java:[26,18]
>>>  ReflectionFactory is internal proprietary API and may be removed in a 
>>> future release
>>> [WARNING] 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/BridgeBase9.java:[30,28]
>>>  ReflectionFactory is internal proprietary API and may be removed in a 
>>> future release
>>> [INFO]
>>> [INFO] --- maven-compiler-plugin:3.8.0:compile (java11) @ pfl-basic ---
>>> [DEBUG] Configuring mojo 
>>> org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile from plugin 
>>> realm 
>>> ClassRealm[plugin>org.apache.maven.plugins:maven-compiler-plugin:3.8.0, 
>>> parent: jdk.internal.loader.ClassLoaders$AppClassLoader@799f7e29]
>>> [DEBUG] Configuring mojo 
>>> 'org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile' with basic 
>>> configurator -->
>>> [DEBUG]   (f) basedir = 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic
>>> [DEBUG]   (f) buildDirectory = 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target
>>> [DEBUG]   (f) compilePath = 
>>> [/Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes]
>>> [DEBUG]   (f) compileSourceRoots = 
>>> [/Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java11]
>>> [DEBUG]   (f) compilerId = javac
>>> [DEBUG]   (f) debug = true
>>> [DEBUG]   (f) encoding = UTF-8
>>> [DEBUG]   (f) failOnError = true
>>> [DEBUG]   (f) failOnWarning = false
>>> [DEBUG]   (f) forceJavacCompilerUse = false
>>> [DEBUG]   (f) fork = false
>>> [DEBUG]   (f) generatedSourcesDirectory = 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>>> [DEBUG]   (f) jdkToolchain = {version=11}
>>> [DEBUG]   (f) mojoExecution = 
>>> org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile {execution: 
>>> java11}
>>> [DEBUG]   (f) multiReleaseOutput = true
>>> [DEBUG]   (f) optimize = false
>>> [DEBUG]   (f) outputDirectory = 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes
>>> [DEBUG]   (f) parameters = false
>>> [DEBUG]   (f) project = MavenProject: 
>>> org.glassfish.pfl:pfl-basic:4.0.1-SNAPSHOT @ 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/pom.xml
>>> [DEBUG]   (f) projectArtifact = 
>>> org.glassfish.pfl:pfl-basic:jar:4.0.1-SNAPSHOT
>>> [DEBUG]   (s) release = 11
>>> [DEBUG]   (f) session = org.apache.maven.execution.MavenSession@7640a5b1
>>> [DEBUG]   (f) showDeprecation = false
>>> [DEBUG]   (f) showWarnings = false
>>> [DEBUG]   (f) skipMultiThreadWarning = false
>>> [DEBUG]   (f) source = 1.7
>>> [DEBUG]   (f) staleMillis = 0
>>> [DEBUG]   (s) target = 1.7
>>> [DEBUG]   (f) useIncrementalCompilation = true
>>> [DEBUG]   (f) verbose = false
>>> [DEBUG] -- end configuration --
>>> [DEBUG] Using compiler 'javac'.
>>> [DEBUG] Toolchain 
>>> JDK[/Library/Java/JavaVirtualMachines/1.6.0_41-b02-445.jdk/Contents/Home] 
>>> doesn't match required property: version
>>> [DEBUG] Toolchain 
>>> JDK[/Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home] 
>>> doesn't match required property: version
>>> [DEBUG] Toolchain 
>>> JDK[/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home] doesn't 
>>> match required property: version
>>> [DEBUG] Toolchain 
>>> JDK[/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home] doesn't 
>>> match required property: version
>>> [INFO] Toolchain in maven-compiler-plugin: 
>>> JDK[/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home]
>>> [DEBUG] Adding 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>>>  to compile source roots:
>>>  /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java
>>>  
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>>> [DEBUG] New compile source roots:
>>>  /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java
>>>  
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>>> [DEBUG] CompilerReuseStrategy: reuseCreated
>>> [DEBUG] useIncrementalCompilation enabled
>>> [DEBUG] Stale source detected: 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java11/org/glassfish/pfl/basic/reflection/Bridge.java
>>> [INFO] Changes detected - recompiling the module!
>>> [DEBUG] Classpath:
>>> [DEBUG]  
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes
>>> [DEBUG] Source roots:
>>> [DEBUG]  
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java11
>>> [DEBUG] Excutable:
>>> [DEBUG]  
>>> /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/bin/javac
>> 
>> Note that the release 9 classes were not added to the classpath, here. Just 
>> the main output directory.
>> 
>>> [DEBUG] Command line options:
>>> [DEBUG] -d 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes/META-INF/versions/11
>>>  -classpath 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes: 
>>> -sourcepath 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java11:/Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations:
>>>  
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java11/org/glassfish/pfl/basic/reflection/Bridge.java
>>>  -s 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>>>  -g -nowarn --release 11 -encoding UTF-8
>>> [DEBUG] incrementalBuildHelper#beforeRebuildExecution
>>> [INFO] Compiling 1 source file to 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes/META-INF/versions/11
>>> [DEBUG] incrementalBuildHelper#afterRebuildExecution
>>> [INFO] -------------------------------------------------------------
>>> [ERROR] COMPILATION ERROR :
>>> [INFO] -------------------------------------------------------------
>>> [ERROR] 
>>> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java11/org/glassfish/pfl/basic/reflection/Bridge.java:[51,34]
>>>  error: cannot find symbol
>>>  symbol: class BridgeBase9
>>> [INFO] 1 error
>> 
>> 
>>> On Feb 12, 2019, at 1:08 PM, Robert Scholte <[email protected]> wrote:
>>> 
>>> Hi Russ,
>>> 
>>> There's no way to configure this, the plugin will do it for you[1]
>>> 
>>> thanks,
>>> Robert
>>> 
>>> [1] 
>>> https://github.com/apache/maven-compiler-plugin/blob/master/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java#L328-L346
>>> 
>>> On Tue, 12 Feb 2019 18:56:52 +0100, Russell Gold <[email protected]> 
>>> wrote:
>>> 
>>>> Version 3.8.0 of the maven-compiler-plugin supports a multiReleaseOutput 
>>>> option which can compile classes directly to the appropriate 
>>>> META-INF/versions/{release} directory, which is very nice. What I don’t 
>>>> see, though, is how to tell it to use the previous release as its 
>>>> dependency. That is, given:
>>>> 
>>>> src
>>>> |—— main
>>>>      |—— java
>>>>      |—— java9
>>>>      \—— java11
>>>> 
>>>> These directories will be compiled to:
>>>> 
>>>> target/classes, target/classes/META-INF/9 and target/classes/META-INF/11. 
>>>> But when I compile that last directory, I want to include 
>>>> target/classes/META-INF/9 in my class path, and I don’t see an obvious way 
>>>> to do it. It would be great if the plugin realized that this was 
>>>> necessary, but is there a way to configure it?
>>>> 
>>>> Thanks,
>>>> Russ
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to