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

Reto Gmür commented on MNG-5305:
--------------------------------

I see no compelling reason why multi-module build cannot be implemented without 
the relative-path and without depending on the artifacts being available. The 
parent can be considered in the build-order like a dependency. Splitting 
build-pom and distribution-poms makes things unnecessarily more complex. Having 
to update parent-vesion number is something that can easily be automated in a 
reactor. Leaving out the version number as [~rfscholte] suggests would promote 
a policy of keeping all modules with synced version numbers and always 
releasing everything together, I think this is an anti-pattern as it promotes 
unnecessary releases of modules and ultimately leads to less modular 
architectures as the advantage of having frequently updated semantically 
versioned modules gets lost.

> 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
>              Labels: close-pending
>
> 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