I know I'm getting into iffy territory here and my thoughts on this were kind 
of rejected on the users list but I think that if the version selection 
algorithm were to include some sort of quality identifier it would solve some 
of these problems.

The idea here is that some folks are going to want "latest" regardless of the 
quality of the latest while others are going to want the latest, highest 
quality release of a plug-in or component.  This can be used in conjunction 
with a version range.  So I could say <version>[1.0-STABLE, 
2.0-STABLE)</version> and I'd only get stable releases.  Or I could say 
<version>[1.0-WORKING, 2.0-STABLE)</version> and I'd get defaulted to STABLE as 
long as there is a stable version within the numeric range or if none exists 
I'd get WORKING if a version at that quality level falls in the range.  Or I 
could say <version>WORKING</version> if I only want the absolute latest working 
version of a component - kind of like SNAPSHOT.

This allows a POM to be targeted at a particular level of quality while still 
leaving it open to select from a range of versions.  For final releases of a 
project good practice dictates the version numbers be locked down for all 
dependencies.  That does mean modifying the POM but that seems unavoidable.

Of course, there may be multiple levels of quality like WORKING, TESTED, FOO, 
RELEASE, etc.  This is the way Ivy works.

The hardest part in all this is standardizing on these quality levels - they 
can be dynamic - specified in the settings file or top level POM...




-----Original Message-----
From: Hervé BOUTEMY [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 01, 2007 1:36 PM
To: Maven Developers List
Subject: Re: Remove auto-resolution of plugin versions from Maven 2.1

Le mardi 1 mai 2007, Tomasz Pik a écrit :
> On 5/1/07, Hervé BOUTEMY <[EMAIL PROTECTED]> wrote:
> > Le mardi 1 mai 2007, Jerome Lacoste a écrit :
> > > Maybe there could be an easy way to let users use the latest ? 
> > > maybe something like
> > >   mvn -L  ...  ( L for latest)
> > > that would ignore all specified versions, without requiring a POM 
> > > change ? Maybe too radical.
> >
> > such a LATEST option would be very usefull, not only for plugins but 
> > for every dependencies, to do regression testing against latest 
> > development version of everything. It would be like if Gump was 
> > integrated into
> > Maven:
> > http://gump.apache.org/
> >
> > I think we would need to differentiate plugin latest from 
> > dependencies latest.
>
> This LATEST thing is already in jira:
> http://jira.codehaus.org/browse/MNG-2431 And I think it would be very 
> useful, both for plugins and for 'normal dependencies'.
not exactly:
- LATEST STABLE is not LATEST : LATEST doesn't try to differentiate STABLE or 
not, just get any change to check ASAP if it breaks something
- "mvn -L" is on the command line, not in the pom : the pom refers to chosen 
versions, for normal builds, but "mvn -L" is for continuous builds, overriding 
chosen versions of the pom, to check if a dependency has an evolution that will 
break something. The artifact built with "mvn -L" is not intended for use, but 
only as a pro-active test against dependencies evolution

>
> Regards,
> Tomek
>
> ---------------------------------------------------------------------
> 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]

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

Reply via email to