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

Andreas Sewe commented on MNG-5951:
-----------------------------------

Hi [~joerg.sesterhenn],

{quote}
I'd be ok with your proposal as well. It is more flexible but also introduces 
complexity.
{quote}

I agree that it is more complex. However, what I like especially is that a 
child POM can override {{@inherit}} again if it desires a different 
transformation for *its* children.

{quote}
The special $\{inherited\} property might be somewhat tricky. Would you have 
one variable for all tags (scm, ...) that can carry the attribute, or rather or 
one for each? Would you be able to use these properties elsewhere? What if a 
property with the same name was already defined?
{quote}

Ah, I think you misunderstood something: $\{inherited\} is simply a placeholder 
for *this* elements parent's value. IMHO, there needn't be a way for, say, 
{{project/scm/url}} to refer to {{project/distributionManagement/site/url}}. 
Maybe using the $\{\} syntax for this placeholder gives users the wrong idea, 
but $\{inherited\} is not a property.

That being said, the one issue I have with my proposal is that the child has no 
way of changing the parent's {{@inherit}} rule *before* the element content is 
inherited. If a child doesn't like it, all it can do is start over by spelling 
out the element content explicitly and using an {{@inherit}} of its own to 
change the rule for its children (aka the parent's grandchildren).

I think your simple switch solution has similar issues: Can a child project 
change the value of the switch and what is the first project affected by this: 
child or grandchild? This probably require a few example scenarios.

Anyway, great to see that someone is tackling this issue! :-)

> add an option to avoid path addition to inherited URLs
> ------------------------------------------------------
>
>                 Key: MNG-5951
>                 URL: https://issues.apache.org/jira/browse/MNG-5951
>             Project: Maven
>          Issue Type: Improvement
>          Components: Inheritance and Interpolation
>    Affects Versions: 3.0.5, 3.1.1, 3.2.5, 3.3.9
>            Reporter: Jörg Sesterhenn
>             Fix For: waiting-for-feedback, 3.4.0
>
>         Attachments: MNG-5951.zip
>
>
> What I am trying to achieve is 
> the definition of a project.url in a parent pom 
> in a way that all children inherit a url ending with 
> {code}
> ${project.groupId}/${project.artifactId}/${project.version}/ 
> {code}
> in order to be able to publish sites of all artifacts in all versions in 
> parallel
> without having to redefine the url in every child pom.
> This is currently not working as expected in maven due to the default child 
> urls calculation which leads to urls that add up parent urls like 
> http://my.domain.de/sites/de.enterprise.calculatorsGroupId/calculator-artifactID/1.0.0-SNAPSHOT/internetAppParentPOM/calculatorParentPom/calculator-artifactID/
> The part *"internetAppParentPOM/calculatorParentPom/"* is added by automatic 
> child url calculation (those are the artifactIds of all parent poms beneath 
> our enterprise parent pom where the url is defined) and *is expexted to not 
> be there at all*. The repeated artifactID at the end of the url is 
> superfluous as well but tollerable.
> I expect maven-core to be changed so that I can turn on/off the automatic 
> calculation of child URLs as an option which is by default on (current 
> behaviour so nothing will change unless configured explicitly).
> See the discussion in MSITE-672. 
> As this can not be done in the maven-site-plugin there needs to be a change 
> in Maven itself (core), in Maven Model Builder, ie the way effective model is 
> calculated, and more precisely in the inheritance step: 
> http://maven.apache.org/ref/current/maven-model-builder/.



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

Reply via email to