[ https://issues.apache.org/jira/browse/MCOMPILER-538?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Slawomir Jaranowski updated MCOMPILER-538: ------------------------------------------ Fix Version/s: (was: waiting-for-feedback) > Do not add target/generated-sources/annotations to the source roots > ------------------------------------------------------------------- > > Key: MCOMPILER-538 > URL: https://issues.apache.org/jira/browse/MCOMPILER-538 > Project: Maven Compiler Plugin (Moved to GitHub) > Issue Type: Bug > Affects Versions: 3.11.0 > Reporter: Daniel Mensinger > Assignee: Slawomir Jaranowski > Priority: Major > > Adding the generated source root ({{target/generated-sources/annotations}}) > is not required for javac. Additionally adding the generated source root > results in compilation errors with annotation processors generating code > unless the generated-sources dir is cleaned. > Specifically, the following steps result in compilation errors: > # run {{mvn clean}} > # Modify a source file that is consumed by the annotation processor so that > there is a compilation error, but the annotation processor still runs (add or > remove a parameter in a method call). > # run {{mvn compile}} --> the generated file exists but there is no class > file for the source file. > # Fix the "bug" from step 2 > # run {{mvn compile}} again --> compilation should succeed, but it fails. > ---- > Example code: > [https://github.com/mensinda/quarkus-stuff/tree/annotationProcessingTest] > Use the {{annotationProcessingTest}} branch! > For step 2 this change can be used: > {code:java} > diff --git a/code/src/main/java/bar/MyAnnotatedClass.java > b/code/src/main/java/bar/MyAnnotatedClass.java > index bbfef7a..a303924 100644 > --- a/code/src/main/java/bar/MyAnnotatedClass.java > +++ b/code/src/main/java/bar/MyAnnotatedClass.java > @@ -4,7 +4,7 @@ import foo.MyAnnotation; > @MyAnnotation > public class MyAnnotatedClass { > - MyGeneratedClass generatedClass = new MyGeneratedClass(); > + MyGeneratedClass generatedClass = new MyGeneratedClass(false); > // foo > {code} > > To see that *not* adding {{target/generated-sources/annotations}} helps run > {{mvn -X compile}} and copy the {{Command line options:}}. Then run {{javac}} > manually, but remove the {{target/generated-sources/annotations}} from the > {{-sourcepath}} list, but *not* the {{-s}} parameter. > ---- > PR with a fix: https://github.com/apache/maven-compiler-plugin/pull/191 -- This message was sent by Atlassian Jira (v8.20.10#820010)