Hi Michael,
Just a shot in the dark, but Maven properties of the form ${a.b.c} are
generally shorthand for XML data i.e. <a><b><c>something</c></b></a>. So
the fact that you are using a property ${site.url} intended to fill in a
section <site><url>...</url></site> is perhaps of concern. Did you try
changing your property names to see whether that makes a difference? If it
does not matter, then (from my non-expert perspective) I am inclined to
agree this seems like a defect, and you could file an issue in JIRA.
Regards,
Curtis
--
Curtis Rueden
LOCI software architect - http://loci.wisc.edu/software
ImageJ2 lead, Fiji maintainer - http://imagej.net/User:Rueden
Did you know ImageJ has a forum? http://forum.imagej.net/
On Wed, Aug 10, 2016 at 11:58 PM, Michael <[email protected]> wrote:
> I wish to define the distributionManagement values for all my projects in
> a common parent pom.
>
> parent pom.xml
>
> <url>${site.url}</url>
>
> <properties>
> <site.base.url>file:///Users/macuser/Sites</site.base.url>
> <site.url>${site.base.url}/${project.artifactId}</site.url>
> </properties>
>
> <distributionManagement>
> <site>
> <id>local</id>
> <url>${site.url}</url>
> </site>
> </distributionManagement>
>
>
> The effective pom for this is as expected:
>
> <url>file:///Users/macuser/Sites/parent-pom</url>
> <distributionManagement>
> <site>
> <id>local</id>
> <url>file:///Users/macuser/Sites/parent-pom</url>
> </site>
> </distributionManagement>
> <properties>
> <site.base.url>file:///Users/macuser/Sites</site.base.url>
> <site.url>file:///Users/macuser/Sites/parent-pom</site.url>
> </properties>
>
>
> In child pom, I specify the parent pom only, no other elements. I expect
> the distributionManagement to inherit from the parent.
>
> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://
> maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <parent>
> <groupId>mlgiroux</groupId>
> <artifactId>parent-pom</artifactId>
> <version>0.0.1-SNAPSHOT</version>
> <relativePath></relativePath>
> </parent>
> <artifactId>parent-pom-test</artifactId>
> <packaging>pom</packaging>
> </project>
>
> The effective pom is strange:
>
> <url>file:///Users/macuser/Sites/parent-pom-test/parent-pom-test</url>
> <distributionManagement>
> <site>
> <id>local</id>
> <url>file:///Users/macuser/Sites/parent-pom-test/parent-
> pom-test</url>
> </site>
> </distributionManagement>
> <properties>
> <site.base.url>file:///Users/macuser/Sites</site.base.url>
> <site.url>file:///Users/macuser/Sites/parent-pom-test</site.url>
> </properties>
>
> The site.url property has been resolved as I expected, but the <url>
> elements for project.url and distributionManagement.site.url that were
> defined in the parent as ${site.url} have the artifactId twice. As if I
> had specified ${site.base.url}/${project.artifactId}/${project.artifactId}
>
> Now, if I add the url and distributionManagement to the child pom as:
> <url>${site.url}</url>
>
> <distributionManagement>
> <site>
> <id>local</id>
> <url>${site.url}</url>
> </site>
> </distributionManagement>
>
>
> The effective pom is exactly as I expect with the artifactId specified
> exactly once in the effective values.
>
> <url>file:///Users/macuser/Sites/parent-pom-test</url>
> <distributionManagement>
> <site>
> <id>local</id>
> <url>file:///Users/macuser/Sites/parent-pom-test</url>
> </site>
> </distributionManagement>
>
>
> I think it is important to point out that the child is NOT a sub module of
> the parent. It specifies a parent, but it is itself a root module.
>
> This feels like a defect to me.
>
> Michael Giroux
>
>