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