If you don't specify a distributionManagement/site/url element in a
child module, the Site Plugin will try to determine this. The key point
for this is the relative path between the parent and the child module.
So if a parent has module=components/myModule and the child has
relativePath=../../pom.xml then the site for the child will end up in
parentSiteUrl/components/myModule

Mike Key wrote:
> I've seen a couple of like posts on issues similar to this one, however
> I've not seen a resolution and hoping someone can shed some light or at
> least confirm this should be filed as a jira.
> 
> Using maven 2.0.9 and site plugin 2.0 with a multi-module project.
> 
> The parent pom defines distributionManagement as follows:
> 
> <distributionManagement>
>     <site>
>       <id>messaging.site</id>
>       <url>file:///Library/WebServer/Documents/site-test/</url>
>     </site>
> </distributionManagement>
> 
> I have several different modules in a directory called 'components' like:
> 
> $ ls ~/src/messaging/*
> components        pom.xml            target
> 
> ~/src/messaging/components:
> messaging-api                messaging-mock
> messaging-services            messaging-adaptor-a
> messaging-adaptor-b        messaging-adaptor-c
> 
> 
> When I run site:site and then site:deploy
> 
> Some of the modules in components,  when deployed work fine (ie. show up
> in file:///Library/WebServer/Documents/site-test) , others show up under
> 'components' in the deployed directory structure (ie. show up in
> file:///Library/WebServer/Documents/site-test/components) causing links
> to appear broken from the main site page which expects them in the
> site-test directory.
> 
> I do not have anything that should affect this in the component poms,
> here is a sample of one of them:
> 
> <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/maven-v4_0_0.xsd";>
> 
>   <modelVersion>4.0.0</modelVersion>
> 
>   <artifactId>messaging-services</artifactId>
>   <version>${messaging-services.module.version}</version>
>   <packaging>jar</packaging>
> 
>   <name>Messaging :: Services</name>
> 
>   <!-- PARENT POM CONFIGURATION -->
>   <!-- *********************************************************** -->
>   <!-- Ties this pom to the platform parent pom.  This should stay -->
>   <!-- in place to help with global dependencies and module        -->
>   <!-- management.                                                 -->
>   <!-- *********************************************************** -->
> 
>   <parent>
>     <groupId>com.unet.hyperion.messaging</groupId>
>     <artifactId>messaging-project</artifactId>
>     <version>2.1-SNAPSHOT</version>
>     <relativePath>../../pom.xml</relativePath>
>   </parent>
> 
>   <dependencies>
>    ....
>   </dependencies>
> </project>
> 
> All component poms are the same in this respect.  But I see consistently
> the same module show up in the right place and wrong place respectively.
> 
> I pulled the source for the site plugin and added a few debug
> statements, only to find that the code does the following to get the
> deploy URL:
> 
> DistributionManagement distributionManagement =
> project.getDistributionManagement();
> Site site = distributionManagement.getSite();
> String url = site.getUrl();
> 
> What I found is that somewhere in the pass off to the plugin, maven has
> either decided to append the 'componets' path to the URL for
> distribution in some cases and in others it has not to match which ones
> get deployed properly and which don't.  So this appears to either be
> something I'm doing wrong in my pom for configuring these modules or a
> bug in maven (at least from what I can tell just looking at the plugin
> source).
> 
> Any help on this would be greatly appreciated.
> 
> Thanks.
> 
> MiKey
> 
> To go faster, slow down. Everybody who knows about orbital mechanics
> understands that.
> 
> -- Scott Cherf
> 
> 


-- 
Dennis Lundberg

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to