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)