Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » P2 » Simple Questions(Seeking some information related to a p2 extension/development project)
Simple Questions [message #651815] Tue, 01 February 2011 12:21 Go to next message
Terran Gilman is currently offline Terran Gilman
Messages: 67
Registered: July 2009
Member
Hello,

I'm developing a runtime framework using equinox as it's core and p2 as the provisioning platform. The system requirements introduce some less than traditional use cases for p2 which have prompted some questions. I hope you guys can help me out or point me in the direction of some documentation.

1) After scanning through the majority of the p2 codebase, I see the well built support for artifact repository mirroring. What I haven't found is something along the same lines for metadata repositories. Are there utilities available for this or is it roll-your-own for right now?

2) I located the associated interfaces for repository type implementations as well as the extension point used to register your type. Are there additional extensions or supporting implementations that need to be leveraged when adding a new type of repository?

3) The custom repository type is intended to provide caching/proxy functions, providing a local copy of a remote repository. It is intended that the artifacts are provided on demand and retrieved and cached lazily to avoid significant network overhead as the number of systems in this chain are not necessarily limited in depth. Is there a facility or utility that already provides this type of functionality? I'd hate to recreate the wheel.

4) The set of repositories registered with the runtime framework will be rather dynamic, and may change frequently or even blanket erased and replaced wholesale. Are there any recommendations for equinox care and feeding in this type of environment? Is it a good idea to restart the platform after these types of events? Are there particular approaches to performing these modifications that are safer or more stable than others?

I'm sure there will be more questions as we progress through this development effort. Thanks for any assistance you can provide.
Re: Simple Questions [message #652658 is a reply to message #651815] Fri, 04 February 2011 16:41 Go to previous message
Terran Gilman is currently offline Terran Gilman
Messages: 67
Registered: July 2009
Member
I am also looking for a way to mirror an IU and all of it's dependent IUs into another repository regardless of the required IU's source repository. Does the existing mirroring functionality traverse the requirements graph or simply mirror the list of IUs provided?

The basic use case can be described:

Pre-conditions


  • Repository 1 contains Artifact 1
  • Repository 2 contains Artifact 2
  • Repository 3 contains Feature 1 and all remaining artifacts


Basic Flow


  1. Mirror Request for Feature 1
  2. Repository 3 is contacted for Feature 1
  3. Dependencies are resolved to artifacts in Repository 1, 2, & 3
  4. metadata for Artifact 1 & 2 are mirrored locally
  5. Artifact 1 & 2 are mirrored locally
  6. metadata for Feature 1 and all remaining artifacts are mirrored locally
  7. Feature 1 and all remaining artifacts are mirrored locally


I've reviewed portions of repository tools packages and see segments that seem applicable to this usage, but I'm not familiar enough with the code to know if this is supported behavior out of the box. I'm especially interested to know if the requirement graph is taken into account during mirroring.

Thanks for any help you may be able to offer.
Previous Topic:Working with non OSGi artifacts
Next Topic:No line information available when built headless
Goto Forum:
  


Current Time: Mon Jul 28 08:35:04 EDT 2014

Powered by FUDForum. Page generated in 0.02299 seconds