Currently the master POM keeps track of things like properties and a
large set of shared dependencies (among other things).
The base POM mostly maintains the set of modules (this POM is swapped
out depending on what kind of release we are doing).
The project POMs are effectively standalone except that they need the
properties and shared dependencies from the master POM.

Do you still think we should put the base and master together (based
on what I said above)? The key issue here is that the projects need to
be able to evolve separately and we want to be able to create
different kinds of releases. A full release which includes all the
projects, a partial release which includes roughly half of the
projects, and mini release which includes the minimum set of projects
for the system to run. Ideally each release has a separate version
number.

Currently, we are handling the multiple types of releases with new
base POMs but we have no way to handle the versioning. I am open to
completely changing things around as long as we can get the multiple
types of releases and can control the versions.

What is the most maintainable way to handle this?
Thanks!
-AZ



On Nov 15, 2007 10:58 AM, Roland Asmann <[EMAIL PROTECTED]> wrote:
> Looking into your POMs, I think you should start using the release-plugin (is
> you aren't already). Your only problem is that the 'master'-POM doesn't know
> the 'base'-POM. (Seeing there's only 1 of both, why not merge them?).
>
> When you use the 'modules'-tag in Maven, the versions are normally updated by
> the release-plugin. So, I suggest you either add the 'base' as a module in
> the 'master', or add a version-tag to the 'base', which can then be easily
> released by Maven. In this last case however, you do need to update the
> version of the 'master' inside the 'base' manually.
>
> It's the same case we have here in my company, we have a company-wide master,
> which is not allowed to know all projects. If this POM gets updated, we must
> manually update out projects. However, we do not HAVE to do this, since some
> changes to the master might be irrelevant for some projects. Therefor we
> stick with this method and let projects decide whether or not to update. We
> do however send all employees a release-mail, so they at least know there's a
> new version. Updating is then discussed and decided within the projects.
>
>
> On Wednesday 14 November 2007 23:44, Aaron Zeckoski wrote:
> > I have a series of 3 POMs and I need to be able to control versioning
> > across them. They are arranged like so:
> >
> > master POM (parent of) base POM (parent of) project POM
> >
> > There is one master and one base POM but there are many many project
> > POMs, roughly 50+ currently with new ones being added
> >
> > The master POM has a version (as it seems all children must specify
> > the version of the parent correctly in the parent tag). The base POM
> > has no version as it inherits from the master. The problem here is
> > that we want to upgrade the overall version... except that every
> > project POM specifies the version of either the master or base POM (in
> > the parent tag). It means we have to somehow coordinate among 50+
> > projects (which are controlled by various people/groups) and tell them
> > to all change the version of the parent.
> >
> > This is not ideal at all and I suspect we are just doing something
> > dumb or completely wrong. So, how can we control the overall version
> > for all the projects without having to change all of the POMs?
> >
> > You can view the source here if you like:
> > master: https://source.sakaiproject.org/svn/master/trunk/pom.xml
> > base: https://source.sakaiproject.org/contrib/caret/kernel/pom.xml
> > sample project:
> > https://source.sakaiproject.org/contrib/caret/kernel/alias/pom.xml
> >
> > -AZ
>
> --
> Roland Asmann
>
> CFC Informationssysteme Entwicklungsgesellschaft m.b.H
> Bäckerstrasse 1/2/7
> A-1010 Wien
> FN 266155f, Handelsgericht Wien
>
> Tel.: +43/1/513 88 77 - 27
> Fax.: +43/1/513 88 62
> Email: [EMAIL PROTECTED]
> Web: www.cfc.at
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



-- 
Aaron Zeckoski ([EMAIL PROTECTED])
Senior Research Engineer - CARET - Cambridge University
[http://bugs.sakaiproject.org/confluence/display/~aaronz/]
Sakai Fellow - [http://aaronz-sakai.blogspot.com/]

Reply via email to