You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Gili (JIRA)" <ji...@apache.org> on 2018/12/26 07:15:00 UTC

[jira] [Updated] (MCOMPILER-369) Adding module-info.java breaks JMH annotation processor

     [ https://issues.apache.org/jira/browse/MCOMPILER-369?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gili updated MCOMPILER-369:
---------------------------
    Attachment: annotation-processor-jigsaw.zip

> 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
>            Priority: Major
>         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)