[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[p2-dev] Provisioning a profile without copying local artifacts

PDE's newest target platform work involves using a p2 profile to collect and provision targets.  This was somewhat possible in 3.5 with remote repositories, but it had severe limitations.  I currently have code that gets metadata (or generated it) for different target locations (remote repos, local installations, directories of plug-ins).  The target then 'resolves' (uses the slicer to determine the complete set of IUs in the target.  Then the target 'provisions' which uses the engine to collect, download and install the IUs into a profile.  We then use the artifacts to create a State.

The problem I'm having is that when the engine runs the download phase, it always grabs every bundle and puts it in the bundle pool, even if the artifacts are available in a local repository.  For example, when my target contains the metadata from a local profile (another Eclipse installation), the engine copied the entire SDK into the profile's bundle cache.  Hopefully there is some way to workaround this as I don't think people will appreciate getting that much data copied on their system.  I also can't skip the download phase because some of the target may be from a remote repository.

Also, is there some code out there that can take a profile and a set of artifact repositories and get the uris of the artifacts in the profile?  Our current code works with a single artifact repository and looks in that repo for each IArtifactKey.

On another note, I would like to say how satisfied I am working with the multiple agent API.  It's simple, straightforward, documented well and very powerful for the PDE use cases.