[ https://issues.apache.org/jira/browse/MCOMPILER-381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17789657#comment-17789657 ]
ASF GitHub Bot commented on MCOMPILER-381: ------------------------------------------ jorsol commented on code in PR #181: URL: https://github.com/apache/maven-compiler-plugin/pull/181#discussion_r1404858082 ########## src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java: ########## @@ -1156,6 +1151,16 @@ public void execute() throws MojoExecutionException, CompilationFailureException incrementalBuildHelper.beforeRebuildExecution(incrementalBuildHelperRequest); + // Cleanup the generated sources directory + if (getGeneratedSourcesDirectory() != null) { Review Comment: Yes, let me explain, the generatedSourcesDirectory is actually the directory for the annotation processor's generated source code: https://github.com/apache/maven-compiler-plugin/blob/e5375fd10f00e4db5471bdc69ebdc4ba20f7bbdc/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java#L114-L122 Since the "incremental" feature is actually a rebuild feature, this directory is generated by the javac compiler, it needs to be cleaned before the rebuild of the module or the build will fail with strange errors, this probably fixes many bugs related to the "incremental" compilation and annotation processors. > Refactoring needed for isDependencyChanged / Using fileExtensions > (AbstractCompilerMojo) > ---------------------------------------------------------------------------------------- > > Key: MCOMPILER-381 > URL: https://issues.apache.org/jira/browse/MCOMPILER-381 > Project: Maven Compiler Plugin > Issue Type: Improvement > Affects Versions: 3.8.1 > Reporter: Karl Heinz Marbaise > Priority: Minor > Fix For: 3.12.0 > > > The code in the class AbstractCompilerMojo has a method > {{isDependencyChanged}} which uses the attribute {{fileExtensions}} which is > being changed within the {{isDependencyChanged}} method. This attribute is > also being used by the method {{hasNewFile}} which is a kind of confusing (a > control via a global variable). > Furthermore a change in {{isDependencyChanged}} where replacing {{".class"}} > with {{"class"}} results in a [fail which is described here|MCOMPILER-379]. > It should be investigated how this code can be made more clear and maybe > easier to understand. -- This message was sent by Atlassian Jira (v8.20.10#820010)