[ https://issues.apache.org/jira/browse/MCOMPILER-538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17799973#comment-17799973 ]
ASF GitHub Bot commented on MCOMPILER-538: ------------------------------------------ Nthalk commented on PR #191: URL: https://github.com/apache/maven-compiler-plugin/pull/191#issuecomment-1868143710 > > All my projects that test upgrades to 3.12.0 fail because of this line, looking forward to when it's removed! > > @Nthalk We need more details. There is a version 3.12.1 under vote, will be available in a few day. Please comments in JIRA I'm using renovate for auto dependency upgrades on multiple projects, the simplest doesn't use any annotation processing and yields this error on `mvn clean install`: ``` [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.12.0:testCompile (default-testCompile) on project selenium-jquery: Fatal error compiling: basedir /home/iode-jenkins-agent/agent/workspace/IodeSystems_SeleniumJQuery_PR-69/target/generated-test-sources/test-annotations does not exist -> [Help 1] ``` The configuration I have is pretty simple, no funny business: ``` <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <source>21</source> <target>21</target> <showWarnings>true</showWarnings> </configuration> </plugin> ``` Here is the output of `mvn clean install` ``` [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4.853 s [INFO] Finished at: 2023-12-22T16:09:00-08:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.12.0:testCompile (default-testCompile) on project selenium-jquery: Fatal error compiling: basedir /Users/nthalk/local/src/iodesystems/SeleniumJQuery/target/generated-test-sources/test-annotations does not exist -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.12.0:testCompile (default-testCompile) on project selenium-jquery: Fatal error compiling at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:333) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174) at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75) at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162) at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283) at org.apache.maven.cli.MavenCli.main (MavenCli.java:206) at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103) at java.lang.reflect.Method.invoke (Method.java:580) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348) at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103) at java.lang.reflect.Method.invoke (Method.java:580) at org.apache.maven.wrapper.BootstrapMainStarter.start (BootstrapMainStarter.java:52) at org.apache.maven.wrapper.WrapperExecutor.execute (WrapperExecutor.java:161) at org.apache.maven.wrapper.MavenWrapperMain.main (MavenWrapperMain.java:73) Caused by: org.apache.maven.plugin.MojoExecutionException: Fatal error compiling at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1189) at org.apache.maven.plugin.compiler.TestCompilerMojo.execute (TestCompilerMojo.java:204) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174) at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75) at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162) at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283) at org.apache.maven.cli.MavenCli.main (MavenCli.java:206) at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103) at java.lang.reflect.Method.invoke (Method.java:580) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348) at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103) at java.lang.reflect.Method.invoke (Method.java:580) at org.apache.maven.wrapper.BootstrapMainStarter.start (BootstrapMainStarter.java:52) at org.apache.maven.wrapper.WrapperExecutor.execute (WrapperExecutor.java:161) at org.apache.maven.wrapper.MavenWrapperMain.main (MavenWrapperMain.java:73) Caused by: java.lang.IllegalStateException: basedir /Users/nthalk/local/src/iodesystems/SeleniumJQuery/target/generated-test-sources/test-annotations does not exist at org.codehaus.plexus.util.DirectoryScanner.scan (DirectoryScanner.java:268) at org.codehaus.plexus.compiler.AbstractCompiler.getSourceFilesForSourceRoot (AbstractCompiler.java:168) at org.codehaus.plexus.compiler.AbstractCompiler.getSourceFiles (AbstractCompiler.java:194) at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:138) at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1186) at org.apache.maven.plugin.compiler.TestCompilerMojo.execute (TestCompilerMojo.java:204) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174) at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75) at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162) at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283) at org.apache.maven.cli.MavenCli.main (MavenCli.java:206) at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103) at java.lang.reflect.Method.invoke (Method.java:580) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348) at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103) at java.lang.reflect.Method.invoke (Method.java:580) at org.apache.maven.wrapper.BootstrapMainStarter.start (BootstrapMainStarter.java:52) at org.apache.maven.wrapper.WrapperExecutor.execute (WrapperExecutor.java:161) at org.apache.maven.wrapper.MavenWrapperMain.main (MavenWrapperMain.java:73) ``` > 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 > Issue Type: Bug > Affects Versions: 3.11.0 > Reporter: Daniel Mensinger > Assignee: Slawomir Jaranowski > Priority: Major > Fix For: waiting-for-feedback > > > 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)