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).
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