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