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

Reply via email to