maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kalpak Gadre <kalpa...@gmail.com>
Subject Re: maven multi-module project structure
Date Wed, 05 May 2010 14:00:20 GMT
I haven't worked with a lot of multi-module projects, but the way it 
works if I understand it right is that your core-api will be built and 
installed into the local repository. Now whenever you will build the 
client / server from the relevant directory, It will *not* rebuild the 
core-api. It will pick up the core-api-0.0.1-SNAPSHOT.jar file from your 
local repository (.m2/repository/ directory). You will have to make sure 
that you manually build core-api every time it is updated.

Other way to handle this could be using your local repository (nexus / 
artifactory) along with Continuous Integration. Where CI builds the 
core-api and installs it into the local repository. The client / server 
developer just refers to the local maven repository. I think there is a 
way to tell Maven to update the dependencies every time from a 
repository. This will make sure that developers would always get the 
latest SNAPSHOT dependencies when they build and they do not have to 
build the whole project after every SCM update.

I wonder if there is a simpler way?

Thanks,

Kalpak

> Hello,
>
> I'd need some more clarification in case I use module structure proposed:
>
> does it mean I'd have in server/pom.xml as well as in client/pom.xml?
>    <dependencies>
>      <dependency>
>        <groupId>core-api</groupId>
>        <artifactId>core-api</artifactId>
>        <version>0.0.1-SNAPSHOT</version>
>      </dependency>
>
> or something similar that would match name+version of core-api
>
> I'd like to have automatically built core-api in case I do some
> updates in it and then I build server or client module using:
> mvn site (but in client or server module, not in the root one)
>
> As for example, server developer doesn't need client to be built (as
> it's quite time consuming), but needs only server and core-api.
>
> Do you have any suggestion? Did I get it correctly or am I missing
> some important point?
>
> Thanks
>
> Peter B.
>
>
>
>
> On Wed, May 5, 2010 at 12:20 PM, Peter Butkovic<puk007@gmail.com>  wrote:
>    
>> Hello,
>>
>> thanks for fast reply! I'll follow your proposal.
>>
>> Peter B.
>>
>>
>> On Wed, May 5, 2010 at 10:42 AM, Karl Heinz Marbaise<kama@soebes.de>  wrote:
>>      
>>> Hi,
>>>
>>> i would suggest to create the following structure. Mor
>>>
>>>
>>>    pom.xml (root) (modules: client, server, core-api)
>>>      +---- client
>>>                  +-- pom.xml  (parent: root: dependency: core-api)
>>>      +---- server
>>>                  +-- pom.xml   (parent: root: dependeny: core-api)
>>>      +---- core-api
>>>                  +-- pom.xml   (parent: root)
>>>
>>>
>>> The question about core-api is that you don't positioned core-api under
>>> client nor under server, cause it's used by both so you have to put it on
>>> the same level.
>>>
>>> Kind regards
>>> Karl Heinz Marbaise
>>> --
>>> View this message in context: http://old.nabble.com/maven-multi-module-project-structure-tp28457606p28458206.html
>>> Sent from the Maven - Users mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: users-help@maven.apache.org
>>>
>>>
>>>        
>>      
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>
>    


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Mime
View raw message