[ 
http://jira.codehaus.org/browse/MVERSIONS-112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=223784#action_223784
 ] 

Robert Scholte commented on MVERSIONS-112:
------------------------------------------

Maybe we could predict the location of the parent by comparing the paths in the 
scm-section. 

> Detection of aggragtor pom does not work when aggregator pom is not inside a 
> parent directory
> ---------------------------------------------------------------------------------------------
>
>                 Key: MVERSIONS-112
>                 URL: http://jira.codehaus.org/browse/MVERSIONS-112
>             Project: Maven 2.x Versions Plugin
>          Issue Type: Bug
>    Affects Versions: 1.2
>         Environment: maven 3 beta 1
>            Reporter: Marcus Holl
>         Attachments: dependencyupdate.zip
>
>
> Having a look into the coding of the SetMojo inside the maven-versions-plugin 
> (v1.2) I can see that the SetMojo of the maven-versions-plugin promisses to 
> detect aggregator pom files. But this does not work if the aggregator pom 
> files is not located in the parent directory or any parent of the parent 
> directory. Apparently the behaviour is the same in trunk.
> Attached there can be found a zip file with an example that outlines the 
> behaviour. There is an aggregator pom located inside a folder "aggregator". 
> This pom contains a module section that defines two modules 
> (../projectwithdependency, ../someproject). "projectwithdependency" defines a 
> dependency to "someproject". 
> The expected behaviour when we call "mvn 
> org.codehaus.mojo:versions-maven-plugin:1.2:set -DnewVersion=1.0.1-SNAPSHOT" 
> inside "someproject" is: the corresponding dependency inside 
> "projectwithdependency" to "someproject" should be updated from 
> "1.0.0-SNAPSHOT" to "1.0.1-SNAPSHOT".
> The actual behaviour is: The version inside the dependency to "someproject" 
> is not updated within project "projectwithdependency".
> When the aggragator pom file is moved to the common parent directory of 
> "projectwithdependency" and "someproject" alongside with the corresponding 
> update regarding the location of the modules inside the modules section the 
> version update inside the dependency to "someproject" in 
> "projectwithdependency" does work fine.
> The location of aggregator pom files is not limited to parent directories. 
> The implemented strategy searches inside parent directories. That is not 
> sufficient. Since there is no better search strategy (aggregator pom files 
> could be located anywhere inside the directory structure) there should be a 
> parameter that specifies the aggregator pom file.
> An additional remark: Of course it needs to be checked if a externally 
> provided pom file is in fact an aggregator pom for the project that should be 
> updated with a new version. This check is implemented inside 
> PomHelper.getLocalRoot(./.) like this: getAllChildModules( parentProject, 
> logger ).contains( project.getBasedir().getName() ). The problem here when we 
> deal with e.g. "../myproject" is that the contains check does not work 
> anymore since the strings that are contained in the set reflects the 
> directory structure rather than the name of the project base dir 
> ("../myproject" vs "myproject").
> Best regards,
> Marcus

-- 
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

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to