continuum-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Venisse <emman...@venisse.net>
Subject Re: SVN paths when adding an m2 pom with module declarations
Date Thu, 20 Apr 2006 07:56:14 GMT

Simon Kitching a écrit :
> Hi,
> 
> I've got a pom with this:
>   <scm>
>     <connection>scm:svn:http://.../trunk</connection>
>   </scm>
> 
>   <modules>
>     <module>common/core</module>
>     <module>common/business</module>
>     <module>transactions/transaction-server</module>
>     <module>transactions/payment-server</module>
>     <module>transactions/billing-server</module>
>     <module>transactions/im_handset_sim</module>
>     <module>management</module>
>   </modules>
> 
> I specified the URL to this pom in continuum 20040414. Continuum correctly
> added each of the child modules as a separate "project". However the SVN
> urls are not set right. For example, the "core" module thinks its svn path
> is:
>   http://.../trunk/common-core
> when it should be using
>   http://.../trunk/common/core

It's a problem in maven api.
maven use artifactId and not module name for path resolution.
Do you have set the parent relativePath in your modules if it isn't ../pom.xml (the default
value)

> 
> In other words, it's appending the child pom artifactId to the base scm url,
> when it should be using the module path that led to that pom.
> 
> Is there any way to tell it what the correct URL is? I noticed that in
> continuum 1.0.2, I could click on the project name then use the "edit"
> button to modify the project details. I can't find how to do this in
> 20040414...any hints?

If the relativePath doesn't solve your pb, you should define the <scm> in your modules.
Another workaround (it's my preference) is to create intermediate pom in your subdirectories
like this:

pom.xml               <== will include only modules common, transactions, management
common                <== will include only modules core, business
   core
     pom.xml
   business
     pom.xml
transactions          <= will include only modules transaction-server, payment-server,...
   pom.xml
   transaction-server
     pom.xml
...

With this architecture, you'll define <scm> only in root parent pom and all scm path
will be 
relsolve correctly.
You can check resolved path of scm url with "mvn help:effective-pom"

Emmanuel


Mime
View raw message