[ 
https://jira.codehaus.org/browse/MNG-4346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul Benedict updated MNG-4346:
-------------------------------

    Fix Version/s:     (was: Issues to be reviewed for 3.x)

> Breadth-first reactor builds as an option
> -----------------------------------------
>
>                 Key: MNG-4346
>                 URL: https://jira.codehaus.org/browse/MNG-4346
>             Project: Maven
>          Issue Type: Wish
>          Components: Reactor and workspace
>    Affects Versions: 3.0
>            Reporter: Eirik Maus
>
> The assumption that project modules always are independent does just not hold 
> true.  In many cases, modules (especially those in a reactor build) are 
> separated in order to isolate dependencies (in-going or out-going). Such 
> modules are often tightly coupled and one does not want to 'install' or 
> 'deploy' one of them unless all of them are install-/deployable and 
> installed/deployed at the same time  (for instance mentioned here: 
> http://in.relation.to/12116.lace ). That means: there should be a way to 
> compile all modules against each other and test all modules (against each 
> other) before any of the modules are installed/deployed. 
> This calls for an option (which should be default from 4.0 ...) to do 
> breadth-first reactor builds: Instead of running the entire lifecycle per 
> project module, each lifecycle step should be run for all modules before 
> proceeding with the next. The run-time project setup must also be configured 
> to use the target/classes and target/test-classes (etcetera) directories of 
> the depending modules rather than the repository artifact for modules in the 
> reactor. This will cause the install and deploy phases to come after the test 
> phases, making sure nothing is deployed unless all modules work and fit 
> together. 
> In my experience (we hacked this with maven 1.0), this also provide faster 
> feedback for multi-module enterprise projects with high velocity, where 
> improper refactorings in shared modules often is the cause of compile-time 
> errors downstream. Given that real-life reactor builds easily take 15-20 
> minutes, catching compile-time errors before wasting time on tests catches 
> all the "stupid mistakes" about 5 times faster (assuming test runs consume 
> roughly 80% of the build time).



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

Reply via email to