Add option to find root of project tree from subproject and build required deps
-------------------------------------------------------------------------------
                 Key: MNG-2576
                 URL: http://jira.codehaus.org/browse/MNG-2576
             Project: Maven 2
          Issue Type: New Feature
          Components: Command Line, Reactor and workspace
            Reporter: Kenney Westerhof
            Priority: Minor


Add a commandline option to enable maven to expand the reactor scope to find 
projects that are dependencies
of the projects currently in the reactor, and add them.

Currently only the current project and child projects are included in the 
reactor search. I'm proposing
to add a commandline switch that lets maven check parent directories to find 
the root of the project tree,
and then do a normal reactor scan, only adding projects that would normally not 
be added if they're needed
as dependencies of the projects that would normally be built.

Here's a sample project tree:

* root
** p1
*** c1 (depends on p2)
** p2

And a sample algorithm:

- When building c1, the reactor would contain [c1].

- Maven would check p1, then root, etc, using the <parent> tags (without the 
versions!)
  to see if the project is still in the current reactor.

- It would then create a second list of projects (reactor2) containing ALL 
projects: [root, p1, c2, p2].

- remove all projects from reactor2 contained in reactor: reactor2 = [root, p1, 
p2]

- remove all projects from reactor2 that are NOT (transitive) dependencies of 
reactor, taking versions into account: reactor2 = [p2]

- merge reactor2 and reactor: [c1, p2]

- apply reactor sort and build.

This would ensure that when some local project's sources have changed, they'll 
be incorporated
in the build, regardless of where you build. So you don't have to do a reactor 
build each time you change more
than 1 project, and you don't have to remember which projects you changed and 
build them in the correct order
yourself, manually.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to