Hi there.

We've been doing without multimodules for some time now, so we ended up
with a number of standalone Maven modules and faced a very similar
problem as you do now. We thus created a prototype of a Maven plugin
which extracts the project interdependencies from the POMs which are
deployed in our Maven repository. It starts with a POM listing all of
our final artifacts as dependencies and traverses the dependency trees
of all of them to find those projects which are under our control
(filtering by groupId prefix).

It currently generates a DOT file to display project dependencies, and a
groovy snippet (also representing the  module dependencies). We then
paste the groovy snippet into a generic release.groovy script. The
script is capable of releasing any module which was modified (we specify
which modules are modified) and will re-build and release all those
depending on modified modules, by calling Maven with the appropriate
release plugin goals.

We plan to make this open source in the next few months, but as it was
created during working hours, our legal department is still working
something out so that publishing is okay for both my employer and the
OSS community.

I know this probably was a rather terse description of the concept. If
you have further questions, feel free to ask.

Best regards

Ansgar


Am 25.05.2012 22:50, schrieb Thiessen, Todd (Todd):
> Can't you just look at the reactor order?  That will tell you which projects 
> you would have to release first.
>
>> -----Original Message-----
>> From: Pimentel, Robert [mailto:[email protected]]
>> Sent: Friday, May 25, 2012 4:47 PM
>> To: '[email protected]'
>> Subject: Plugin to determine release order for multiple projects
>>
>> Hello,
>>
>> We currently have about 40 different multi-module projects. To date, we
>> have determined an appropriate release order for the projects by
>> manually parsing the POM files and making note of the dependencies. We
>> keep our list in a spreadsheet, and it is re-evaluated with every
>> release because (a) new projects are added (b) the list of projects
>> being released changes from one release to the next (c) the project
>> interdependencies change. As you can imagine this is both tedious and
>> time-consuming. Do you know of a plugin, or any (preferably free)
>> third-party tools that can parse a collection of project POMs and
>> produce an appropriate release order? Additionally, it would be great
>> if the product could check for circular dependencies. I am at the point
>> where I am going to create something myself, but would prefer not to if
>> something like this already exists.
>> Windows Server 2003 SP2
>> Apache Maven 2.2.1 (r801777; 2009-08-06 14:16:01-0500)
>> Java version: 1.6.0_24
>>
>> Thanks,
>> Rob
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>


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

Reply via email to