Maven 1

improve reactor tag to allow collection of included projects without execution

Details

  • Type: Improvement Improvement
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 1.0-rc2
  • Fix Version/s: 1.0-rc3
  • Component/s: core
  • Labels:
    None
  • Environment:
    all
  • Number of attachments :
    1

Description

reactor tag currently forces the execution of some goal (default or specified) in each project included. This is a problem for the multiproject plugin, in that the multiproject:site goal doesn't require the resolution of all project dependencies in order to complete successfully. In fact, in the case of interdependent projects within the multiproject inclusion specification, this resolution breaks the site generation process. However, this dependency resolution is a necessary precondition to any project goal executions. Since multiproject:site-init only uses reactor to produce a collection of projects, I propose the following modifications in support of this:

1. Add a collectOnly attribute to reactor to allow for the simple resolution of projects without goal execution. The deliverable of the reactor tag in this case would be a list of projects, in order of their interdependency.

2. Add a collectionVar attribute to reactor to allow for predictable assignment of the resulting reactor collection to a variable in the context. Currently, multiproject takes advantage of the context variable "reactorProjects" which could change in the future. In other words, multiproject's dependence on this context variable is not outwardly apparent, which leaves it susceptible to malfunction when this internal variable changes.

I have created a patch against the 1.0 CVS sources to accommodate these changes, and will attach them to this issue.

BTW, the accompanying multiproject JIRA issue is MPMULTIPROJECT-16.

Issue Links

Activity

Hide
John Casey added a comment -

patch as promised.

Show
John Casey added a comment - patch as promised.

People

Vote (1)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: