[ 
https://issues.apache.org/jira/browse/MNG-5305?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15336855#comment-15336855
 ] 

Christian Schulte commented on MNG-5305:
----------------------------------------

If you add an empty {{<relativePath/>}} element to your {{<parent>}} 
declarations, you get the behaviour you are asking for. There are use cases the 
{{<relativePath>}} is needed for. That is checking out a multi module project 
and executing some phase from the default lifecycle before {{install}}. We need 
to support {{mvn compile}} or {{mvn verify}} without any of the artifacts being 
available in some repository (local or remote). I see no issue with searching a 
parent pom on disk. It's documented and people should just know what they do. I 
think Maven is doing the right thing here. If you checkout only a single 
module, it will resolve the parent(s) from the repository, if you checkout the 
complete multi-module project it will resolve the parent(s) from that project 
structure.


> Deprecate relativePath
> ----------------------
>
>                 Key: MNG-5305
>                 URL: https://issues.apache.org/jira/browse/MNG-5305
>             Project: Maven
>          Issue Type: Improvement
>          Components: Inheritance and Interpolation
>            Reporter: Reto Gmuer
>
> The concept of relativePath is alien to the overall Maven design of having 
> project directory that only depends on entities in the repositories. With 
> relative-paths the build might yield to different results depending on were a 
> project folder is located in the local filesystem.
> The parent POM resolution was changed in Maven 3. Because of this explicit 
> relativePaths need to be specified  more often for reactor builds to be built 
> in the correct order. The reason for this (according to Maven 3.x 
> compatibility note) is to improve consistency: "In Maven 2, building the 
> child project in isolation could fail while the reactor build would succeed 
> to resolve the parent.". However this behaviour is inconsistent with the 
> resolution of the other dependencies, in fact the above is true for any Maven 
> version when a dependency that is part of the reactor is not available in a 
> suitable versions in the repository: in this case the build of the individual 
> project fails while the build of the whole reactor succeeds.
> Because of this relativePath should be marked as deprecated and the parent 
> should be treated like a dependency when computing the build order of reactor 
> projects.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to