Speaking only for myself - I manage a corporate development environment with
14 developers working on about 30 modules in various stages of legacy
maintenance, active development, R&D experiments, etc.

The set of developers responsible for each module is different, as is the
set of dependencies that each project requires. And several modules will
often be combined to produce one war artifact, which means that versions of
any common dependencies had better match.

It's much easier to define employee contact details in developers.ent, a
master list of dependencies (internal and external) in dependencies.ent, and
then add specific items by reference to each project (e.g.:
<developer>&dev-johndoe;</developer> and
<dependency>&dep-log4j;</dependency>). 

This allows me to maintain details of each item in exactly one place (the
.ent file), and have them automatically updated in the 5, 10, or 15 projects
that might happen to need them. This is particularly useful for dependencies
- I can guarantee that any module using log4j links to version 1.2.8, then
enforce that they migrate simultaneously to 1.2.9 with a one-line change.

The maintenance time goes way down this way, and as a side benefit our
project.xml files are shorter and much more comprehensible. 

I'm not sure why you would consider entities a workaround - they allow you
to define a master list of resources, pick and choose which resources fall
into each project, and keep everything synchronized. One could always
implement the same capability within Maven, but that seems like unnecessary
duplication of effort. The XML parser is giving you this functionality for
free - might as well take advantage of it.

Mark

-----Original Message-----
From: Jason van Zyl [mailto:[EMAIL PROTECTED] 
Sent: April 15, 2004 4:13 PM
To: Maven Users List
Subject: RE: Maven and Development Process

On Thu, 2004-04-15 at 14:38, Mark Langley wrote:
> If you use XML entities to define your version numbers rather than hard
> coding them in the project.xml files, the process of switching between
> snapshot and release versions becomes much easier.
> 
> See http://wiki.codehaus.org/maven/EnsureProjectConsistencyWithEntities
for
> more details.

Do a lot of people actually use this mechanism?

Is it simply because maven1 doesn't support recursive inheritance?

Maven2 support recursive inheritance well so would anyone still really
need to use entities like this. Ultimately I suppose it doesn't matter
how the POM comes together but I would like support to come from Maven
itself and not the use of entities which I would consider a workaround.

> 
> -----Original Message-----
> From: John Casey [mailto:[EMAIL PROTECTED] 
> Sent: April 15, 2004 1:46 PM
> To: Maven Users List
> Subject: Re: Maven and Development Process
> 
> Somewhat unfortunately (because it does amount to a lot of work), that
> is the current best practice, I believe.  At any rate, this is exactly
> what we do.
> 
> -john
> 
> On Thu, 2004-04-15 at 12:12, Amato Massimiliano (TLAB) wrote:
> > Hello guys,
> > 
> > I am trying to convert our system from Ant to Maven, I managed to
> succesfully migrate all the projects into Maven but right now i am facing
> the problem of the development process integration.
> > 
> > I saw there is a Snapshot feature that upload the latest build to the
> repository, but I am not really sure how does it work?
> > 
> > >From my understanding if i am working on a project composed of several
> sub-project, like i do, i need to set in each project.xml file the version
> as x.y-dev and then install the articaft produced as install-snapshot or
> deploy-snapshot for the remote repo
> > 
> > Now in each project that depends on that one, we need to update the
> version tag of the dependancy to SNAPSHOT and when we build, Maven
> automatically download the latest snapshot between the 2 that are in the
> local and remote repo
> > 
> > When our development is completed we just need to change all the
> dependancy version number from snapshot to x.y and the main project.xml
> version from x.y-dev to x.y as well
> > 
> > and there restart the cycle....
> > 
> > Is it correct or not? There is a better way to handle the development
> process?
> > 
> > Thanks a ton for your help
> > Massimiliano
> > 
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]

-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://maven.apache.org

happiness is like a butterfly: the more you chase it, the more it will
elude you, but if you turn your attention to other things, it will come
and sit softly on your shoulder ...

 -- Thoreau 


---------------------------------------------------------------------
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