maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hervé Boutemy (JIRA) <>
Subject [jira] [Commented] (MNG-6059) Important use cases not covered, as child.inherit.append.path affects all children
Date Sat, 09 Jul 2016 16:52:11 GMT


Hervé Boutemy commented on MNG-6059:

bq. But wouldn't this imply that maven-scm (including all providers) suddenly becomes part
of the Maven distribution? I don't like that at all.
for sure, I would not be ok for such a scenario!!! It has to be done in a way that avoid such

To me, this just does mean that the maven-scm-supported url must support adding "/module"
at the end: it's at String level, not at maven-scme-api level

Your option where plugins should be able to calculate coordinate could be ok also: the case
where I'd prefer having the url in the effective pom is for example in the case of a maven-shared
component. In such a case, we factored out configuration in an aggregator pom and a parent
pom, and every module is a separate release. In such a scenario, I'd prefer having the scm
url in effective pom.
For multi-module builds, I would not see much issue in changing the way it is done: modules
from a multi-module build/release are internal details

> Important use cases not covered, as child.inherit.append.path affects all children
> ----------------------------------------------------------------------------------
>                 Key: MNG-6059
>                 URL:
>             Project: Maven
>          Issue Type: Bug
>          Components: Inheritance and Interpolation
>         Environment: Apache Maven 3.4.0-SNAPSHOT (227085283b6379038ec16f4cf9ad2e8869cef694;
>            Reporter: Andreas Sewe
> The {{child.inherit.append.path}} attribute introduced with MNG-5951 unfortunately does
not support the use case where the children of the element with the attribute should follow
different inheritance rules. Take a typical configuration for Github, for example (taken from
> {noformat}
> <scm>
>   <connection>scm:git:git://</connection>
>   <developerConnection>scm:git:ssh://</developerConnection>
>   <url></url>
> </scm>
> {noformat}
> If the {{ossrh-demo.git}} repository contains a child module called {{some-module}},
then that child’s {{scm/url}} should become {{}}
as per the normal inheritance rules, but both the {{scm/connection}} and {{scm/developerConnection}}
URLs should remain unchanged.
> Unfortunately, this is not possible with {{*child*.inherit.append.path}}, which acts
on all children simultaneously.
> IMHO, this is a conceptual problem. In particular, setting {{child.inherit.append.path}}
on the *root* element to just control a single child ({{project/url}}) feels wrong, as the
attribute is in all likelihood not even located close to the {{<url>}} element it controls.

This message was sent by Atlassian JIRA

View raw message