[
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)