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