You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jörg Hohwiller (JIRA)" <ji...@codehaus.org> on 2009/05/15 20:48:45 UTC

[jira] Commented: (MNG-2576) Make Like Reactor Mode

    [ http://jira.codehaus.org/browse/MNG-2576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=176662#action_176662 ] 

Jörg Hohwiller commented on MNG-2576:
-------------------------------------

This feature is exactly what I am looking for. E.g. this would help for eclipse:eclipse and many other things. Since the issue is closed, I have the question how to use it. I downloaded 2.1.0 and mvn -version says:
Maven version: 2.1.0-M1
mvn --help tells me about this option:

 -r,--reactor                  Execute goals for project found in the
                               reactor

Is this what came out of this issue?
I thought that if I call maven on some module (e.g. "c1" from the example above) with this option, it would behave as if called with the same goal on the toplevel (root) but executions of the actual goal is only performed in the called module ("c1").
So I tried
mvn -r eclipse:eclipse
on one of my modules but I get:

Cannot execute mojo: eclipse. It requires a project with an existing pom.xml, but the build is not using one.

there is a valid pom.xml in the working directory.

What do I miss?
Could you help me with what "closed/fixed" means here?

> Make Like Reactor Mode
> ----------------------
>
>                 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
>            Assignee: Dan Fabulich
>             Fix For: 2.1.0-M1
>
>
> 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 (depends on c2)
> ** p3
> *** c2
> 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, using the newly discovered root: [root, p1, c2, p2].
> - remove all projects from reactor2 contained in reactor: reactor2 = [root, p1, p2]
> - resolve all direct dependencies for all projects in reactor in reactor2 and add them to reactor, taking versions into account: reactor = [p2, c1]
> - repeat previous step until all projects have their dependencies resolved from reactor 2. first iteration would yield reactor = [c2, p2, c1],
>   next iteration would stop since c1 doesn't have any dependencies present in reactor2.
> 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