[
https://issues.apache.org/jira/browse/MCOMPILER-209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16326261#comment-16326261
]
Flemming Madsen commented on MCOMPILER-209:
-------------------------------------------
I'm speechless .. A new option is introduced with an obvious reverted semantic,
and a trivial fix. Yet, it is still open after 5 years, forcing us all to put
*wrong* useIncrementalCompilation=false into our builds ?!
> Incremental compilation doesn't work unless useIncrementalCompilation is set
> to 'false'
> ---------------------------------------------------------------------------------------
>
> Key: MCOMPILER-209
> URL: https://issues.apache.org/jira/browse/MCOMPILER-209
> Project: Maven Compiler Plugin
> Issue Type: Bug
> Affects Versions: 3.1
> Reporter: Michael Ekstrand
> Priority: Major
> Attachments:
> MCOMPILER_209_reversed_if_else_branches_for_useIncrementalCompilation_flag.patch,
> 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
(v7.6.3#76005)