push the resolve button at ds.resolve/resolveActive.bndrun
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
+-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)'
try to resolve bundle req
bundle req
has the requirementnamespace="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 Requirementosgi.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)
- it resolves
bundle capfora
which provides a capability that is required bybundle a
-> provides also the capability that is required frombundle 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)