Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
resolver-1.0.0
-
None
-
None
Description
FELIX-737 is a framework issue but the same issue also exists in the standalone resolver implementation. I am opening a separate bug to specifically address the issue in the standalone resolver implementation.
The felix framework resolve has a known issue with substitutable exports FELIX-737. The scenario is pretty complex. It involves bundles multiple bundles that export and import the same package X at different versions and an importer that imports the package with a range that requires a specific package. If that specific package gets substituted there are cases where the resolver will return wires to the substituted export.
The ideal solution would do something smart with selection of substituted exports so that different combinations or selections can be made if the first substitution did not provide good results. This potentially will explode the permutations. For now we should at least change the current permutation to drop the substituted exports so that invalid wires do not get created. That could drop some good valid combinations, but that is better than the current state where completely invalid wires get created.