Michael Ekstrand created MCOMPILER-209:
------------------------------------------

             Summary: Incremental compilation doesn't work unless 
useIncrementalCompilation is set to 'false'
                 Key: MCOMPILER-209
                 URL: https://jira.codehaus.org/browse/MCOMPILER-209
             Project: Maven 2.x Compiler Plugin
          Issue Type: Bug
    Affects Versions: 3.1
            Reporter: Michael Ekstrand


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.

The result of all this is incremental compilation with Maven is very confusing 
and difficult to understand.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to