Hi Henrik,
I'm a little confused what the "p2 area" actually means. My assumption was that 
it corresponds to the "p2" folder an Eclipse installation again containing 
core/engine/repository folders with cached data etc. Does your comment mean 
that I can refer also to an empty folder when instantiating the 
ProvisioningAgent like IProvisioningAgent agent = agentProvider.createAgent(new 
URI("file:/myEmptyFolder")); ?
If this would be fine for the agent, I could create the Repository Manager and 
proceed ...

Interesting that you mention b3 aggregator (I'm heavily using it and praising 
it all the time ...). A very basic task of b3 is to read metadata from remote 
repositories, but I guess it's done also using a p2 agent? Or would I be able 
to reuse a "simpler" read API from B3?

The use case behind my question is that I'm creating .product files (product 
configuration files) out of (well-controlled) p2 repositories. The products are 
then materialized with Tycho. Unfortunately, .product files must contain a list 
of all installable units which makes up the product. For me the p2 repository 
is the main unit of granularity and whenever something changes with this p2 
repo, this shall be reflected automatically within my next product build. 
Therefore, I'm extracting all features from a content.xml and populate the 
.product file before building the product.

Regards,
Klaus

From: [email protected] [mailto:[email protected]] On Behalf 
Of Henrik Lindberg
Sent: Freitag, 27. Juli 2012 15:54
To: P2 developer discussions
Subject: Re: [p2-dev] Querying remote p2 repositories

You were on the right track - what you want is a "p2 area" that is used for the 
purpose of answering your queries. You want that to be separate from the "p2 
area" used in the application that wants the answers to those queries - or you 
will pollute the runtime with queried meta data (caches etc.). This way you can 
decide if you want to keep the cached data for the next invocation (able to 
answer queries faster if nothing has changed in the repositories you are 
querying etc).

Not sure if there is any command line "p2 query" utilities around.

One approach is to use the b3 aggregator project's EMF model of p2 repositories 
(it can load p2 repositories using the p2 api's, it allows manipulation of the 
repository and you can write it out again as a p2 repository. But guess this is 
just as difficult in your Maven/Tycho context as using a p2 agent and a p2 
query. OTOH, the b3 aggregator is a tool for performing 
slicing/dicing/validation/aggregation/mirroring and reauthoring of p2 
repositories - maybe what you want to do falls into this category? 

Hope that helps.

Regards
- henrik

Henrik Lindberg
[email protected]



On Jul 27, 2012, at 15:42, Kopecz, Klaus wrote:


I'm looking for a simple way to query a remote p2 repository (simple and/or 
composite). The p2-API documentation at help.eclipse.org indicates that this 
can be done in the context of having a ProvisioningAgent representing the "p2 
area" of an Eclipse installation.
My context is different. I want to query a p2 repository in the context of a 
Maven/Tycho build and therefore cannot refer to any profile or "p2 area". 
Therefore, I'm looking for some basic p2 infrastructure which can read (or even 
query) the metadata of a remote repository basically by providing the URL. 
While I could write some stuff to read and analyze a remote content.xml file, 
things get more complex if I want to abstract from having simple and/or 
composite repositories which differ in their file layouts and decomposition 
into multiple metadata sources. Having something which could do this 
abstraction for me would be helpful.
Thanks for any suggestions ...
_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev

_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev

Reply via email to