I am trying to describe the most obvious brute force way to verify uses
constraints of one wire are satisfied:
i) Build recursively a set of all "reachable" packages:
0. Start with the capability of the wire
1. For every package in the capability "uses" list
2. Search the wire host bundle for requirements of that package
3. For every requirement find all matching capabilities
4. Recursively repeat for each capability
ii) Then find the subset of reachable packages that are directly imported
by the initial bundle
1. Match each requirement of the bundle to each candidate capability
2. Get only the matches
iii) Then split the resulting set into sub-sets of duplicate package
versions
E.g. {{org.foo 1.0, org.foo 2.0, ...}, ..., {org.bar 1.0, org.bar 2.0,
...}, ...}
iv) Then require that the bundle wires to only one version per sub-set:
E.g. {org.foo 1.0, org.bar 2.0}
I am not considering Require-Bundle yet.
Is this correct?
Todor
_______________________________________________
p2-dev mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/p2-dev