You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Stefan Bischof (JIRA)" <ji...@apache.org> on 2018/10/25 18:09:00 UTC

[jira] [Created] (FELIX-5973) fix resolving issues

Stefan Bischof created FELIX-5973:
-------------------------------------

             Summary: fix resolving issues
                 Key: FELIX-5973
                 URL: https://issues.apache.org/jira/browse/FELIX-5973
             Project: Felix
          Issue Type: Bug
          Components: Resolver
            Reporter: Stefan Bischof


 

*Description*

1. Felix tries to resolve other bundles, even when the bundle has the capability for the requirement by its own

2. Felix resolves bundles, which are only required by bundles that aren't in the resolve result

 

 *Example:* [https://github.com/stbischof/ds.resolve]

 

try to resolve {{bundle req}}
 * {{bundle req}} has the requirement {{namespace="ns",name="name"}}

so we look for the same capability {{namespace="ns",name="name"}}
 * bundle cap has the capability {{namespace="ns",name="name"}}
 * but {{bundle cap}} has also a Requirement {{osgi.service;filter:="(objectClass=java.lang.Readable)";effective:=active;cardinality:=multiple}}.
 * this could be providet by itsselve {{osgi.service;objectClass:List<String>="java.lang.Readable"}} (target property of @Reference is not processed)

h3. [|https://github.com/stbischof/ds.resolve#issues]Issues:
 * it resolves {{bundle capfora}} which provides a capability that is required by {{bundle a}} -> provides also the capability that is required from {{bundle cap}} ( {{osgi.service;objectClass:List<String>="java.lang.Readable"}}).
 * But in this case {{bundle a}} is not in the resolveresult
 * bundle b is also resolved. (not needet, cap has the needet capability by its own)

 

*Reproduce:*
h3. [|https://github.com/stbischof/ds.resolve#bndtoolseclipse]bndtools/eclipse

push the resolve button at ds.resolve/resolveActive.bndrun
h3. [|https://github.com/stbischof/ds.resolve#commands]commands

{{git clone https://github.com/stbischof/ds.resolve.git cd ds.resolve java -jar biz.aQute.bnd-4.1.0.jar clean java -jar biz.aQute.bnd-4.1.0.jar _par java -jar biz.aQute.bnd-4.1.0.jar resolve resolve --write ds.resolve/resolveActive.bndrun git diff }}
h3. [|https://github.com/stbischof/ds.resolve#results]results:

{{+-runbundles: \ + ds.resolve.b;version=snapshot,\ + ds.resolve.cap;version=snapshot,\ + ds.resolve.capfora;version=snapshot,\ + ds.resolve.req;version=snapshot,\ + org.apache.felix.scr;version='[2.1.0,2.1.1)' }}
h2.  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)