Peter Donald wrote:

On Thu, 9 Oct 2003 12:17 am, Florin Vancea wrote:


If I may say something before it's too late: Maybe there is a need for a LATEST on each (or on several) branch (es).

Something like

<dependency>
 <groupId>log4j</groupId>
 <artifactId>log4j</artifactId>
 <version>LATEST</version>
</dependency>

should get the latest-and-gratest, but something like

<dependency>
 <groupId>log4j</groupId>
 <artifactId>log4j</artifactId>
 <version>1.LATEST</version>
</dependency>

should use the latest version available that still has the version with prefix "1."

Just a thought...



I think it is a good throught but ... I think that it may be a beta idea to formalize a version-ing standard before you do this. For example one project may assume that anything compiled against 1.1 will work in 1.2 (ie minor versions represent forward compatible changes). Another project may assume that micro versions represent forward compatability (ie 1.1.2 is compatible with 1.1.1 or 1.1).


That would make dependencys very close to JDK "optional packages"/"extensions" ala (except for no separation between implementation and specification).

http://spice.sourceforge.net/extension/
http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html

Alternatively you could specify version resolution scheme in the dependency declaration via something like

<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.1</version>
<version-resolution-policy>extension</version-resolution-policy>
</dependency>


There is an opportunity here to provide an extensible version resolution system. If we somehow hand the entire <dependency/> element to the fetch component (and anything else that needs to know about the dependency) we can allow the version specification to be interpreted in more than one way. This would allow us to try alternatives for version resolution like 1.LATEST or like Peter's idea, as well as other alternatives such as regular expressions or version ranges and minimum/maximum versions. I am willing to do the work for this, but am a bit skittish as I know there is a large body of code out there somewhere from maven-new. Also, I have brought this up a couple times on IRC and have been told that several people are already looking at this.

--
Ryan Hoegg
ISIS Networks
http://www.isisnetworks.net


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



Reply via email to