java - Problems with distributionManagement site URL in Maven multi module environment -
i'm having trouble maven site plugin. have following sample structure:
/parent-project pom.xml /src/site /module-1 /branches /tags /trunk pom.xml /src /module-2 pom.xml /src we have 1 module tag/branches/trunk structure , 1 without (the first has it's own deploy cycle). let's parent pom.xml this:
<groupid>some.group</groupid> <artifactid>parent-project</artifactid> <version>1.0</version> <packaging>pom</packaging> <url>https://url/parent</url> <modules> <module>module-1/trunk</module> <module>module-2</module> <modules> <distributionmanagement> <site> <id>deployment</id> <url>dav:https://url/deploy/site/</url> </site> </distributionmanagement> when effective pom of modules have following:
<parent> <groupid>some.group</groupid> <artifactid>parent-project</artifactid> <version>1.0</version> </parent> <groupid>some.group</groupid> <artifactid>module-1</artifactid> <version>2.0.0</version> <url>http://url/parent/module-1/module-1</url> <distributionmanagement> <site> <id>deployment</id> <url>dav:https://url/deploy/site/module-1/module-1</url> </site> </distributionmanagement> and
<parent> <groupid>some.group</groupid> <artifactid>parent-project</artifactid> <version>1.0</version> </parent> <groupid>some.group</groupid> <artifactid>module-2</artifactid> <version>2.0.0</version> <url>http://url/parent/module-2</url> <distributionmanagement> <site> <id>deployment</id> <url>dav:https://url/deploy/site/module-2</url> </site> </distributionmanagement> the module nested in trunk directory has doubled relative urls (module-1/module-1) reason , other 1 (/module-2) went normal. failing @ of maven conventions or missing else?
edit: effective pom, real ones minimal:
<groupid>some.group</groupid> <artifactid>parent-project</artifactid> <version>1.0</version> <packaging>pom</packaging> <url>https://url/parent</url> <modules> <module>module-1/trunk</module> <module>module-2</module> <modules> <distributionmanagement> <site> <id>deployment</id> <url>dav:https://url/deploy/site/</url> </site> </distributionmanagement> and
<parent> <groupid>some.group</groupid> <artifactid>parent-project</artifactid> <version>1.0</version> </parent> <groupid>some.group</groupid> <artifactid>module-1</artifactid> <version>2.0.0</version> and
<parent> <groupid>some.group</groupid> <artifactid>parent-project</artifactid> <version>1.0</version> </parent> <groupid>some.group</groupid> <artifactid>module-2</artifactid> <version>2.0.0</version>
from documentation of maven site plugin:
if subprojects inherit site url parent pom, automatically append form effective deployment location.
in fact it's half of story: parent project not direct ancestor, maven generated inadequate url , site/url values. e.g. parent project not root project.
or here module-1/trunk. in such case have declare explicitely url , site/url.
Comments
Post a Comment