also-make-dependents builds parent projects incorrectly
-------------------------------------------------------
Key: MNG-4237
URL: http://jira.codehaus.org/browse/MNG-4237
Project: Maven 2
Issue Type: New Feature
Components: Reactor and workspace
Affects Versions: 2.1.0
Reporter: Josh Beitelspacher
I am attempting to use --also-make-dependents to build a minimal set of changed
components in response to source code changes.
Here is a sample project tree:
* root (1.0.0)
** p1 (1.0.0)
*** c1 (1.0.1-SNAPSHOT)
** p2 (1.0.1-SNAPSHOT) (depends on c1)
** p3 (1.0.0)
*** c2 (1.0.0)
A developer adds a new project c3 under p3, modifies p3 to include c3, and
modifies c1 so that it depends on c3. The version numbers of all modified
projects are updated to 1.0.1-SNAPSHOT. The resulting project tree would
appear as follows (with the modified projects in bold):
* root (1.0.0)
** p1 (1.0.0)
*** *c1* (1.0.1-SNAPSHOT) (depends on c3)
** p2 (1.0.1-SNAPSHOT) (depends on c1)
** *p3* (1.0.1-SNAPSHOT)
*** c2 (1.0.0)
*** *c3* (1.0.1-SNAPSHOT)
After the developer checks in these changes, the continuous integration server
detects the changes and runs {{mvn --projects p1/c1,p3,p3/c3
--also-make-dependents deploy}}. The expected result of the reactor would be:
* p3 is deployed
* c3 is deployed
* c1 is deployed
* p2 is deployed
However when the command is run c2 is also built. c2 is not a dependent on any
of the modified projects and should not be built. I assume it is being built
because its parent is being built, but this should not happen.
If c2 declared p3:1.0.1-SNAPSHOT as its parent it should be rebuilt because a
change in the parent could affect the child. However c2 is a child module of
p3:1.0.0 so a new version of p3 should not affect it.
Also, if the root project is modified another problem emerges. Attempting to
add a period (to reference the current working directory) to the project list
causes the build to fail:
{noformat}
mvn --projects . --also-make-dependents
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Couldn't find specified project in module list: C:\root\.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Fri Jul 10 14:48:00 CDT 2009
[INFO] Final Memory: 5M/9M
[INFO] ------------------------------------------------------------------------
{noformat}
--
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