|Re: [equinox-dev] Convergence between p2 and the OSGi resolver+repository|
On 11/16/2016 10:49 AM, Todor Boev wrote:
The thing is that if you look at a subset of the available bundles, you may find a solution that is not the optimal one. p2 will consider all the possible candidates in one resolution invocation.
Even though on the surface p2 resolver looks similar to what the OSGi resolver does, p2 has at least 2 additional concepts:
1) the _expression_ of strict negation
2) the concept of patch
I'm tempted to think that it is probably simpler to add support for the uses-clause in p2 (this has been a known issue for years, but I can't seem to find the bug tonight) than it is to replace the resolver completely and get all the tests to pass. The encoding of dependencies to a SAT formula is well documented and so are the optimization functions.