On Tue, Apr 8, 2008 at 4:07 PM, Xavier Hanin <xavier.hanin@gmail.com> wrote:
> I agree completely and this should be very easy to do... unfortunately I
> have zero knowledge of maven. I do have lots of knowledge of XSLT though
> so if someone could walk me through what steps need to be done for a
> <m2resource> tag then I'll be happy to write it up in the XSLT.

If it's only to download artifacts, it's very easy. All you need is to
download the artifacts using a pattern like this:
[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]

The classifier needs to be provided in the m2resource tag, except for the
main artifact, which has no classifier.

For instance here are the files available for Ivy itself on maven repo:
http://repo1.maven.org/maven2/org/apache/ivy/ivy/2.0.0-beta2/

As you can see there's the default artifact (the jar), an artifact for
'sources' classifier, and one for 'javadoc' classifier. Maybe we should also
be able to specify the ext for each artifact, and also the file path to use
once downloaded (relative to artifacts dir). Maybe something like:
<m2resource groupId="org.apache.ivy" artifactId="ivy" version="2.0.0-beta2">
 <artifact ext="jar" tofile="jars/ivy.jar"
sha1="43188890f8eb2a105665d62c4bda4b24703568ee" />
 <artifact qualifier="sources" ext="jar" tofile="sources/ivy.zip"
sha1="6ab99abd8a02a961a5054b0359b9ae75f2ae2972" />
 <artifact qualifier="javadoc" ext="jar" tofile="javadocs/javadoc.zip"
sha1="6b3cf2877a1c79adb181fa218b99f3b20ceabbe5" />
</m2resource>

Not sure of the exact syntax, but you get the idea.

OK I think this should be easy to do... see updated patch (attached) which includes <m2resource>, ivy documentation, and new schema validation.

This does bring up a larger question I want to ask first: are we sure we really want to create and maintain an ivy module in ivyroundup for every package in the maven2 repository?

Obviously, ivy is better than maven :-) but what happens if we don't? Someone could always just configure one builder resolver to point at ivyroundup and the other ibiblio resovler at the maven2 repo.

But let's assume we do want to do this. For this to be feasible, we need to ensure the maintenance of all these modules is not a huge burden, and that they add some kind of value.

A definite requirement would a custom ant task in the ivyroundup project that automatically populates the ivyroundup repository with all the maven2 projects by downloading every pom and meta-data file from the maven2 repo and processing them automatically.

I'm willing to write this but I'd need some help/advice on what exactly to do since I'm still learning about maven.

Once this is done, over time people can go through and improve/refine the auto-generated ivy.xml files... assuming we have some volunteers who are interested in specific projects, etc.

Does that make sense?

In any case, I've populated the Ivy RoundUp web site with a few modules, including one maven2 one (commons-email). Please take a look and let me know if it looks reasonable to you so far.

Thanks,
-Archie

--
Archie L. Cobbs