> I have to investigate the migration to Maven in our organisation. We
> have a pretty large software base : about 100 projects each generating
> 3 to 6 artifacts. A part of these modules are a framework used by most
> other projects.

On this basis I would start with three parent poms.
- On for the company, which would have normal dependencymanagement for common 
projects outside your company.
- On for the framework, which is a child of the company pom.
- On for the other libraries, which is also a child of the company pom and 
keeps references to the right framework libraries.

Now it is a matter of releasing the framework with its superpom and after that 
updating the other superpom to reference the right libraries.

Hth,

Nick Stolwijk

-----Original Message-----
From: Guillaume Lederrey [mailto:[EMAIL PROTECTED]
Sent: Wed 1/9/2008 11:01 AM
To: Maven Users List
Subject: Re: Dependency versions in large multi-projects multi-modules 
environment
 
I'm trying to go down the path of option #1 below :

* a super pom which define all dependencies, we can leave it in
SNAPSHOT state for the dev cycle
* all libraries reference this parent pom. The libraries can go
through a couple of version increments during the dev cycle.

Now I have a problem at the time of release :

I have to release a version of both the super pom and the libraries.
The parent pom has to be updated to reference the versions of the
libraries at release time, and the libraries have to be updated to
reference the super pom at release time. So I got a cycle ...

If I release the libraries first, and then update the super pom, I
then have to release the super pom, and as the super pom has been
updated, I have to release the libraries as well and so on ...

I think my requirements are pretty standard, so there should be an
obvious solution that I am missing. What didnt I understand ?

Thanks for your help !

   MrG

On 07/01/2008, Guillaume Lederrey <[EMAIL PROTECTED]> wrote:
> Hello !
>
> I have to investigate the migration to Maven in our organisation. We
> have a pretty large software base : about 100 projects each generating
> 3 to 6 artifacts. A part of these modules are a framework used by most
> other projects.
>
> For the moment, we are managing versioning with ant, and a script that
> download the latest version of each library. This script is updated
> every time a new version of a library is released. The script itself
> is on a server and accessed by all developers / build tools.
>
> I see to major ways to do the same with Maven :
>
> 1) replace our script by a parent pom which will contain all
> dependencies and versions in its <dependencyManagement/> section. This
> means that every time a new library is released, a new version of this
> parent pom has to be released as well. And all other projects have to
> update their reference to the latest parent pom.
>
> 2) use version ranges in the parent pom. This way, the new version of
> the library is used by all projects as soon as it is available in our
> central repository. Much easier to manage, but it sound a bit scary to
> have it that much automated ... Other problem, we will loose build
> reproducibility ...
>
> I'll be happy to know how you manage dependency versions in large
> organizations ...
>
> Thanks a lot !
>
>    Guillaume
>
>
> --
> Jabber : [EMAIL PROTECTED]
> Skype : Guillaume.Lederrey
> Projects :
> * http://rwanda.wordpress.com/
> * http://rwandatech.wordpress.com/
>


-- 
Jabber : [EMAIL PROTECTED]
Skype : Guillaume.Lederrey
Projects :
* http://rwanda.wordpress.com/
* http://rwandatech.wordpress.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to