[
https://issues.apache.org/jira/browse/MNG-5523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15886548#comment-15886548
]
Doug Schroeder commented on MNG-5523:
-------------------------------------
Any further progress on this one? Would love to see this fix.
> support actual incremental build
> --------------------------------
>
> Key: MNG-5523
> URL: https://issues.apache.org/jira/browse/MNG-5523
> Project: Maven
> Issue Type: Improvement
> Components: Bootstrap & Build, Performance
> Reporter: Jigar Joshi
>
> h2. Background:
> We have project structure of around 200 project in the maven tree, every
> single build takes around 13 minute of time (clean, compile, test install,
> deploy)
> With current version of maven {{3.1}}, you can skip clean phase and it will
> do incremental build, which is not bullet proof incremental build actually
> h2. Problem example
> {code}
> ----------root (module)
> \
> |
> |---foo (jar project)
> |
> |---bar (jar project, it consumes foo as dependency)
> {code}
> before
> {code}
> public class Foo{
> public static void sayHello(){
> System.out.println("hello from foo");
> }
> }
> public class Bar{
> public static void main(String arg[]){
> Foo.sayHello();
> }
> }
> {code}
> I do {{mvn clean install}} from root module, it would go successful, I launch
> the {{main()}} method of {{Bar}} now, it will be succesful
> now I modify {{sayHello()}} to
> {code}
> public static void sayHello(String name){
> System.out.println("hello from foo to " + name);
> }
> {code}
> and I execute {{mvn install}} (incremental build) from root module, it will
> still compile and execute successfully because it takes previously built
> artifact for {{Foo}} at compile phase, now if I attempt to run it in IDE or
> in a packaged build it will fail with
> {code}
> Exception in thread "main" java.lang.NoSuchMethodError:
> {code}
> h2. Proposal:
> - somewhere in pre execution phase, it needs to calculate the modified
> source and artifacts and it should be able to detect all the consumers in
> dependency tree (compile, runtime, test all scopes) and flag all the
> artifacts to treat as modified and it should re do build for those
> - all the maven plugins should support incremental build as well
> - plugin needs to be marked to execute incrementally by adding a {{boolean}}
> parameter to {{AbstractMOJO}} to declare that plugin execution needs to be
> calculated in effective incremental way
> - all plugins which are marked as {{incremental}} needs to take the same
> approach as mentioned in first point
> - also in parallel build when it fans out in multiple threads it should have
> knowledge of what plugins to execute effectively
> It would be totally useful to have this feature corrected
> Some other people who wants this as well
> - http://stackoverflow.com/questions/6281699/maven-incremental-building
> -
> http://stackoverflow.com/questions/8918165/does-maven-support-incremental-builds
> *Also See*
> - http://jira.codehaus.org/browse/MCOMPILER-213
> -
> http://blog.jetbrains.com/teamcity/2012/03/incremental-building-with-maven-and-teamcity/
> Thanks!
> Jigar
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)