[ 
https://jira.codehaus.org/browse/MCOMPILER-209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=358320#comment-358320
 ] 

Alexander Kriegisch commented on MCOMPILER-209:
-----------------------------------------------

May I be so bold to ask why this issue has a major priority but has not 
received any attention in more than one year? It could have been fixed for 3.2, 
but that chance has passed. Maybe 3.3?

Maybe it makes sense to check the single [commit by Olivier 
Lamy|https://github.com/apache/maven-plugins/commit/9214b6aed296c359614d4225216f00d8a89f7367]
 which introduced the {{useIncrementalCompilation}} switch and check the 
if-else branches in order to find out why it works for {{false}}, but not for 
{{true}}. Possibly this is because a set of stale sources is computed in the 
{{false}} case. Shouldn't that rather be done for {{true}}? I do not really 
understand the code, I just took a quick look.

> Incremental compilation doesn't work unless useIncrementalCompilation is set 
> to 'false'
> ---------------------------------------------------------------------------------------
>
>                 Key: MCOMPILER-209
>                 URL: https://jira.codehaus.org/browse/MCOMPILER-209
>             Project: Maven Compiler Plugin
>          Issue Type: Bug
>    Affects Versions: 3.1
>            Reporter: Michael Ekstrand
>         Attachments: SO_AJ_MavenSoftExceptions.zip
>
>
> The compiler plugin has the 
> [useIncrementalCompilation|https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#useIncrementalCompilation]
>  flag.  However, when this flag is set to {{true}} and using the {{javac}} 
> compiler, the compilation is not very incremental; the compiler always at 
> least claims it is rebuilding all source files (and compile times are 
> consistent with this being what it is actually doing, though it is hard to 
> tell).  If I set {{useIncrementalCompilation}} to {{false}}, then it actually 
> does report that some modules are up-to-date, and some only need a subset of 
> their files compiled.
> It seems that one  or more of the following is happening:
> * {{useIncrementalCompilation}} has some meaning that is very different from 
> what a user would expect, actually controlling whether the compiler plugin 
> uses some internal incremental compilation mechanism vs. incremental 
> compilation support built-in to the particular compiler backend.  One would 
> expect this flag to turn on incremental compilation vs. build-everything.
> * The log messages do not reflect what it is actually doing; that is, it 
> seems possible that it's saying "Compiling 164 source files" when it's really 
> handing 164 source files off to the compiler for potential compilation.  If 
> this is the case, it is very confusing and misleading.
> * The logic of {{useIncrementalCompilation}} is just inverted.  Looking at 
> the source code for the abstract compiler MOJO, it doesn't look like it's 
> quite this simple, but I also don't know what all the various components at 
> work are doing.
> * There is a bug in the implementation of {{useIncrementalCompilation}}.
> The result of all this is incremental compilation with Maven is very 
> confusing and difficult to understand.



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to