Jorge Solórzano created MCOMPILER-567:
-----------------------------------------

             Summary: Fail to compile if the "generated-sources/annotations" is 
not created
                 Key: MCOMPILER-567
                 URL: https://issues.apache.org/jira/browse/MCOMPILER-567
             Project: Maven Compiler Plugin
          Issue Type: Bug
    Affects Versions: 3.12.0
            Reporter: Jorge Solórzano


On some configurations (like a Kotlin project), the cleanup of the 
generated-soruces/annotations directory returns an error:
{code:java}
Caused by: java.lang.IllegalStateException: basedir 
/maven-compiler-plugin/target/it/MCOMPILER-XX/target/generated-sources/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:1187)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute 
(CompilerMojo.java:212)
    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){code}
 

I didn't catch this earlier since I don't use Kotlin and on a normal project, 
this should not be an issue since the javac documentation mentions that the 
directory, and any necessary subdirectories, will be created if they do not 
already exist.

But on a somewhat modified project that compiles kotlin source code, this 
triggers an issue on plexus-compiler where the generated-soruces directory does 
not exist.

 

This might be related to issue MCOMPILER-538, where it claims that generated 
source root is not required for javac, but additional confirmation is required.

 

The fix will be to create the generated sources directory to preserve the 
current behavior.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to