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

Herve Boutemy updated MNG-7991:
-------------------------------
    Description: 
aggregation was added in early Maven 2 stages with MNG-250, not really 
documented AFAIK, but highly visible through [@Mojo(aggregator=true) Mojo 
annotation|https://maven.apache.org/plugin-tools/maven-plugin-tools-annotations/index.html]

there are multiple shortcomings found over time:
 * discrepancy between CLI and lifecycle use:

 * 
 -- CLI executes aggregator-marked goal *only on root module* (skips goal 
execution in sub-modules) and after executing the lifecycle to all modules
 -- lifecycle-bound goal executes goal on each and every module, during normal 
lifecycle run on each module: not even sure aggregator configuration changes 
anything

 * forked lifecycle execution vs second execution in modules
 * sometimes, instead of executing aggregate goal *before* building modules, it 
would be useful to execute aggregate *after* building modules (to aggregate 
some results built in each module)
notice that this looks also like the need for "execute at end" as found in 
install/deploy

we probably need to better document what aggregate currently does and define 
what should be the target: perhaps refactoring will require new mechanisms that 
we won't call aggregator, like MNG-5665...

edge case: aggregating reports for maven-site-plugin (launched by 
maven-reporting-exec, hence quite independent from associated reporting goals 
even if we expect some consistency between site reports and reporting goals)

  was:
aggregation was added in early Maven 2 stages with MNG-250, not really 
documented AFAIK, but highly visible through [@Mojo(aggregator=true) Mojo 
annotation|https://maven.apache.org/plugin-tools/maven-plugin-tools-annotations/index.html]

there are multiple shortcomings found over time:
 * discrepancy between CLI and lifecycle use: CLI skips execution in 
sub-modules, but not lifecycle
 * forked lifecycle execution vs second execution in modules
 * sometimes, instead of executing aggregate goal *before* building modules, it 
would be useful to execute aggregate *after* building modules (to aggregate 
some results built in each module)
notice that this looks also like the need for "execute at end" as found in 
install/deploy

we probably need to better document what aggregate currently does and define 
what should be the target: perhaps refactoring will require new mechanisms that 
we won't call aggregator, like MNG-5665...

edge case: aggregating reports for maven-site-plugin (launched by 
maven-reporting-exec, hence quite independent from associated reporting goals 
even if we expect some consistency between site reports and reporting goals)


> refactor "aggregator" goal feature
> ----------------------------------
>
>                 Key: MNG-7991
>                 URL: https://issues.apache.org/jira/browse/MNG-7991
>             Project: Maven
>          Issue Type: Wish
>          Components: Plugin API, Plugins and Lifecycle, Reactor and Workspace
>    Affects Versions: 4.x / Backlog
>            Reporter: Herve Boutemy
>            Priority: Major
>
> aggregation was added in early Maven 2 stages with MNG-250, not really 
> documented AFAIK, but highly visible through [@Mojo(aggregator=true) Mojo 
> annotation|https://maven.apache.org/plugin-tools/maven-plugin-tools-annotations/index.html]
> there are multiple shortcomings found over time:
>  * discrepancy between CLI and lifecycle use:
>  * 
>  -- CLI executes aggregator-marked goal *only on root module* (skips goal 
> execution in sub-modules) and after executing the lifecycle to all modules
>  -- lifecycle-bound goal executes goal on each and every module, during 
> normal lifecycle run on each module: not even sure aggregator configuration 
> changes anything
>  * forked lifecycle execution vs second execution in modules
>  * sometimes, instead of executing aggregate goal *before* building modules, 
> it would be useful to execute aggregate *after* building modules (to 
> aggregate some results built in each module)
> notice that this looks also like the need for "execute at end" as found in 
> install/deploy
> we probably need to better document what aggregate currently does and define 
> what should be the target: perhaps refactoring will require new mechanisms 
> that we won't call aggregator, like MNG-5665...
> edge case: aggregating reports for maven-site-plugin (launched by 
> maven-reporting-exec, hence quite independent from associated reporting goals 
> even if we expect some consistency between site reports and reporting goals)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to