[jira] [Commented] (MCOMPILER-209) Incremental compilation doesn't work unless useIncrementalCompilation is set to 'false'

2019-07-17 Thread Igor Bljahhin (JIRA)


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

Igor Bljahhin commented on MCOMPILER-209:
-

Happy 5th year birthday, dear bug!

> 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.14#76016)


[jira] [Commented] (MCOMPILER-209) Incremental compilation doesn't work unless useIncrementalCompilation is set to 'false'

2018-03-19 Thread Robert Scholte (JIRA)

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

Robert Scholte commented on MCOMPILER-209:
--

>From MCOMPILER-205

{quote}I see there's some confusion, so something needs to be changed, maybe 
improving documentation is good enough.
Looking at the code, you'll see that non-incremental will only look at changed 
sourcefiles. Incremental will also verifies if dependencies have changed and if 
files have been added or removed. If it has changed, it'll remove the complete 
classes-directory. The reason is that the default java compiler is quite fast, 
likely much faster than analyzing per file what to do with it.
IIUC the eclipse compiler is a real incremental compiler, so we could decide 
that based that based on the used compiler not to drop the classes 
directory.{quote}

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


[jira] [Commented] (MCOMPILER-209) Incremental compilation doesn't work unless useIncrementalCompilation is set to 'false'

2018-03-19 Thread Oliver Gierke (JIRA)

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

Oliver Gierke commented on MCOMPILER-209:
-

Should I be concerned about the test coverage of that particular area of the 
code, assuming the provided PR basically inverting the logic actually not 
breaking a test? 🤔

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


[jira] [Commented] (MCOMPILER-209) Incremental compilation doesn't work unless useIncrementalCompilation is set to 'false'

2018-03-17 Thread Alexander Kriegisch (JIRA)

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

Alexander Kriegisch commented on MCOMPILER-209:
---

Major bug, trivial fix, ignored for 4 years. Happy anniversary!

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


[jira] [Commented] (MCOMPILER-209) Incremental compilation doesn't work unless useIncrementalCompilation is set to 'false'

2018-02-27 Thread Martin Monperrus (JIRA)

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

Martin Monperrus commented on MCOMPILER-209:


FYI, fix proposed at https://github.com/apache/maven-compiler-plugin/pull/3

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


[jira] [Commented] (MCOMPILER-209) Incremental compilation doesn't work unless useIncrementalCompilation is set to 'false'

2018-01-15 Thread Flemming Madsen (JIRA)

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