|Re: [p2-dev] p2 QL feedback / discussion|
I have a concern about how closely the syntax is tied to the repository metadata syntax and the data structure of the IU. For example, how you search for the latest versions of all the UIs that provide the osgi.bundle capability goes something like this:
latest(x | x.providedCapabilities.exists(p | p.namespace == 'osgi.bundle'))
My understanding is that this will return all the latest versions of the IUs that provide the capability with the namespace of osgi.bundle. So there are a couple of concerns I can see if this QL is expected to work for all future releases of p2.
- IUs must always have a way to get the list of provided capabilities using the .providedCapabilities syntax. (probably pretty safe bet?)
- Capabilities must always have something called a namespace. Not sure if this is always going to be true. I guess even OBR will have resources (capabilities) that provide some kind of name space.
- The name space value becomes API. 'osgi.bundle' must always be the namespace to represent a bundle. AFAICT there is no place in the p2 API that lists the namespace values as API. The feel like they are an internal detail to me.
I also don't see any documentation on the various fields that can be used in a query (.providesCapabilities, .namespace etc.) and what their corresponding types are.
Pascal Rapicault ---02/26/2010 09:55:33 AM---With the latest changes that Thomas committed this week, we are now fully p2 QL enabled. Thank you.
Pascal Rapicault <pascal@xxxxxxxxxxxx>
P2 developer discussions <p2-dev@xxxxxxxxxxx>
02/26/2010 09:55 AM
[p2-dev] p2 QL feedback / discussion