Details
-
Wish
-
Status: Open
-
Major
-
Resolution: Unresolved
-
4.x / Backlog
-
None
-
None
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
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)
Attachments
Issue Links
- contains
-
MNG-2184 Possible problem with @aggregator and forked lifecycles
- Open
- incorporates
-
MNG-6336 Aggregator Mojo should be executed only once even when part of the lifecycle
- Open
- is caused by
-
MNG-250 make aggregation feasible
- Closed
- is related to
-
MNG-8337 aggregator goal called from CLI shows an additional module at end (= first module twice)
- Open
-
MNG-7900 wrapper lifecycle in multi module project should be executed only in root module
- Closed
- relates to
-
MNG-5665 Advanced Lifecycle Handling
- Open
-
MNG-7163 Aggregating Mojo re-executes goals for child modules that are already executed
- Open
-
MNG-7672 Aggregate goals executed in a submodule forks the whole reactor
- Closed
-
MNG-2180 Allow aggregation mojos to access plugin configurations
- Closed
-
MNG-4504 Disallowing all aggregator bindings to any lifecycle is too broad
- Closed