Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-5973

fix resolving issues

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Resolver
    • None

    Description

       

      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)

      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:

      bndtools/eclipse

      push the resolve button at ds.resolve/resolveActive.bndrun

      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
      

       

       

      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)'

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            bischofs@jena.de Stefan Bischof
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: