Gili created MCOMPILER-369:
------------------------------

             Summary: Adding module-info.java breaks JMH annotation processor
                 Key: MCOMPILER-369
                 URL: https://issues.apache.org/jira/browse/MCOMPILER-369
             Project: Maven Compiler Plugin
          Issue Type: Bug
    Affects Versions: 3.8.0
            Reporter: Gili
         Attachments: annotation-processor-jigsaw.zip

# Open testcase
 # Run {{clean install}}. Notice that the benchmarks run.
 # Open {{pom.xml}} and comment-out the {{<annotationProcessorPaths> section.}}
 # Run {{clean install}}. Notice that the annotation processor does not run and 
the benchmarks break.
 # Delete/rename {{module-info.java}}.
 # Run {{clean install}}. Notice that the benchmarks work again.

The documentation for {{<annotationProcessorPaths>}} states that by default 
annotation processors are detected from the classpath. It seems that adding 
{{module-info.java}} breaks that somehow, which is weird/unexpected because JMH 
exists as a dependency outside the newly-declared module.

I did two things to prove that the annotation processor is not being invoked in 
step 4:
 # Notice that {{target/test-classes/META-INF}} is not created.
 # Place a breakpoint in {{org.openjdk.jmh.generators.BenchmarkProcessor}} and 
notice that it is never even constructed.

I tried digging into the maven-compiler-plugin and plexus-compiler source-code 
but couldn't figure out where the problem is. The only workaround I found is to 
specify {{annotationProcessorPaths}} manually but it took me half a day to 
track down this problem.

Any idea what is going on? Is this a bug in the plugin(s)?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to