Actually, I'm still there! :-)

I am trying to use Ivy 2.0.0a1 to download snapshot artifacts from a
M2 repository. I'm doing this from my own application, directly
talking to the Ivy API. Like this:

   public static void main(String[] args) throws Exception
   {
       IvySettings settings = new IvySettings();

       ResolveEngine engine = new ResolveEngine(settings, new
EventManager(), new SortEngine(settings));

       File cache = new File("build/cache");
       cache.mkdirs();

       ResolveData data = new ResolveData(engine, new
ResolveOptions().setCache(CacheManager.getInstance(settings, cache)));

       settings.setDefaultCache(cache);

       String ibiblioRoot = "http://snapshots.repository.codehaus.org";;

       IBiblioResolver resolver = new IBiblioResolver();
       resolver.setRoot(ibiblioRoot);
       resolver.setName("test");
       resolver.setSettings(settings);
       resolver.setM2compatible(true);

       ModuleRevisionId mrid =
ModuleRevisionId.newInstance("org.mortbay.jetty", "cometd-demo",
"6.1-SNAPSHOT");
       ResolvedModuleRevision rmr = resolver.getDependency(new
DefaultDependencyDescriptor(mrid, false), data);

       DefaultArtifact artifact = new DefaultArtifact(mrid,
rmr.getPublicationDate(), "cometd-demo", "war", "war");
       DownloadReport report = resolver.download(new Artifact[]
{artifact}, new DownloadOptions(settings, cache));
   }

This basically comes out of the IBiblioResolverTest.

This works ok for retrieving artifacts that have a release version in
the repository, for example commons-fileupload 2.0. But it does not
work for -SNAPSHOT versions like the above cometd-demo 6.1-SNAPSHOT.

I've browsed through the Ivy code and it looks like it does not touch
the maven-metadata.xml file in the repository to find the latest
SNAPSHOT build.

Is this something that Ivy simply does not support yet, or am I not
using the API in the right way?

S.

Reply via email to