Maven2 is out, with a new layout policy


* new remote: http://ibiblio.org/maven2 * local store ~/.m2/repository * layout algorithm both local and remote: * project/version/artifact-version[-classifier][.extension] * every artifact has a .pom


where
-project gets mapped from dotted to / : org.apache.ant would become org/apache/ant
-classifier is something like "src" or "client"


The new layout is designed to scale much better, and a per-artifact POM is interesting.

This has the following implications for the <libraries> task

-a new local layout, if we match maven2
-a new attribute, classifier, in every library
-rework to move some of our naming policy around; the local filename policy is currently in the Library class, so doesn't change by repository.


Here is what I'm thinking, thoughts that may break anyone that has been using the task to date. (which may be only me)


1. Adopt the m2 local store, remote URL and layout policy.
2. Factor out local layout policy into its own interface/classes, with maven1, maven2 and "flat" implementations,
3. Add classifier attribute to the library class.
4. support dotted project names
5. any other changes need to get this to work; some API changes in the classes.


I'm currently doing maven1&2 download code @work, for the smartfrog project there (*); I'll feed lessons (but not LGPL code) back into the ant stuff later on in the week.

What do people think about my plan?


(*) http://cvs.sourceforge.net/viewcvs.py/smartfrog/core/smartfrog/src/org/smartfrog/services/os/java/
-all the stuff with "not working" next to my name :)









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



Reply via email to