Le 30 août 2011 à 11:39, Nicolas Lalevée a écrit : > > Le 30 août 2011 à 08:19, Marcel Bruch a écrit : > >> Hi, >> >> On 29.08.2011, at 23:25, Nicolas Lalevée wrote: >> >>>> 1. Is it supported to copy/mirror an Eclipse P2 repository into a local >>>> Ivy repository? >>> >>> I have successfully made Ivy read a Eclipse P2 repository in order to >>> download its jars, like any other jar repository, but nothing more. The >>> pieces should be there to do the complete copy chain though. >> >> I'm quite unexperienced with Ivy's Java APIs. Thus, may anybody confirm that >> this solution is the way to go? > > I think you should look into the "install" feature of Ivy (see the doc about > the ant task [1]) and work around that. But as I dig into it, it seems there > a missing piece. The loading of an updatesite is coded and probably works, > but there is no Ivy resolver which does the actual bridge between Ivy and the > update site loader. > > Here is what I would have done: > > 1. Have a ivysettings.xml in which you have both your updatesite and you > local ivy repository configured. (here we're missing the update site > resolver).
FYI, I've just committed an updatesite resolver: http://ant.apache.org/ivy/history/trunk/resolver/updatesite.html I have not tested it yet though. Nicolas > 2. In Java, do have an ivy instance: > Ivy ivy = new Ivy().configure(settingsFile); > 3. get the updatesite resolver : > DependencyResolver resolver = > ivy.getSettings().getResolver("myUpdatesiteResolverName"); > 4. Loop on every module with resolver.listOrganisations() and > resolver.listModules() > 5. For each module call: ivy.install(...) > > The missing piece should not be hard to code but I don't have much time now. > If you're willing to code it, see the OBRResolver for reference. > > Nicolas >