You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Nicolas Roduit (Jira)" <ji...@apache.org> on 2022/10/30 09:07:00 UTC

[jira] [Commented] (FELIX-6521) Stop exporting org.osgi.service.component packages

    [ https://issues.apache.org/jira/browse/FELIX-6521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17626189#comment-17626189 ] 

Nicolas Roduit commented on FELIX-6521:
---------------------------------------

Since this change I can't launch the SRC bundle, is there a particular configuration to apply?

In order to reproduce the problem, just download Felix framework 7.0.5 and add 3 bundles (org.osgi.util.function-1.2.0.jar, org.osgi.util.promise-1.2.0.jar, org.apache.felix.scr-2.2.4.jar).

Result:
{code:java}
nicolas@nicolas-P920:~/Data/Downloads/felix-framework-7.0.5$ java -jar bin/felix.jar
ERROR: Bundle org.apache.felix.scr [7] Error starting file:/home/nicolas/Data/Downloads/felix-framework-7.0.5/bundle/org.apache.felix.scr-2.2.4.jar (org.osgi.framework.BundleException: Unable to resolve org.apache.felix.scr [7](R 7.0): missing requirement [org.apache.felix.scr [7](R 7.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.component)(version>=1.5.0)(!(version>=1.6.0))) Unresolved requirements: [[org.apache.felix.scr [7](R 7.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.component)(version>=1.5.0)(!(version>=1.6.0)))])
org.osgi.framework.BundleException: Unable to resolve org.apache.felix.scr [7](R 7.0): missing requirement [org.apache.felix.scr [7](R 7.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.component)(version>=1.5.0)(!(version>=1.6.0))) Unresolved requirements: [[org.apache.felix.scr [7](R 7.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.component)(version>=1.5.0)(!(version>=1.6.0)))]
    at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4398)
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2308)
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1566)
    at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:297)
    at java.base/java.lang.Thread.run(Thread.java:829)
____________________________
Welcome to Apache Felix Gogog! lb                                                                                                                                                                   09:51:13
START LEVEL 1
   ID|State      |Level|Name
    0|Active     |    0|System Bundle (7.0.5)|7.0.5
    1|Active     |    1|jansi (1.18.0)|1.18.0
    2|Active     |    1|JLine Bundle (3.13.2)|3.13.2
    3|Active     |    1|Apache Felix Bundle Repository (2.0.10)|2.0.10
    4|Active     |    1|Apache Felix Gogo Command (1.1.2)|1.1.2
    5|Active     |    1|Apache Felix Gogo JLine Shell (1.1.8)|1.1.8
    6|Active     |    1|Apache Felix Gogo Runtime (1.1.4)|1.1.4
    7|Installed  |    1|Apache Felix Declarative Services (2.2.4)|2.2.4
    8|Active     |    1|org.osgi:org.osgi.util.function (1.2.0.202109301733)|1.2.0.202109301733
    9|Active     |    1|org.osgi:org.osgi.util.promise (1.2.0.202109301733)|1.2.0.202109301733 {code}
If I replace it with version 2.2.0:
{code:java}
nicolas@nicolas-P920:~/Data/Downloads/felix-framework-7.0.5$ java -jar bin/felix.jar
____________________________
Welcome to Apache Felix Gogog! lb                                                                                                                                                                   09:52:50
START LEVEL 1
   ID|State      |Level|Name
    0|Active     |    0|System Bundle (7.0.5)|7.0.5
    1|Active     |    1|jansi (1.18.0)|1.18.0
    2|Active     |    1|JLine Bundle (3.13.2)|3.13.2
    3|Active     |    1|Apache Felix Bundle Repository (2.0.10)|2.0.10
    4|Active     |    1|Apache Felix Gogo Command (1.1.2)|1.1.2
    5|Active     |    1|Apache Felix Gogo JLine Shell (1.1.8)|1.1.8
    6|Active     |    1|Apache Felix Gogo Runtime (1.1.4)|1.1.4
    7|Active     |    1|Apache Felix Declarative Services (2.2.0)|2.2.0
    8|Active     |    1|org.osgi:org.osgi.util.function (1.2.0.202109301733)|1.2.0.202109301733
    9|Active     |    1|org.osgi:org.osgi.util.promise (1.2.0.202109301733)|1.2.0.202109301733 {code}

> Stop exporting org.osgi.service.component packages
> --------------------------------------------------
>
>                 Key: FELIX-6521
>                 URL: https://issues.apache.org/jira/browse/FELIX-6521
>             Project: Felix
>          Issue Type: Improvement
>          Components: Declarative Services (SCR)
>            Reporter: Tom Watson
>            Assignee: Tom Watson
>            Priority: Major
>             Fix For: scr-2.2.2
>
>
> I would like to stop exporting the org.osgi.service.component packages from the SCR bundle and instead only import them.  This is to make the implementation more predictable when installed along side the OSGi specification API bundle with GAV org.osgi:org.osgi.service.component:1.5.0 which only exports and does not import this package.  This will reduce the confusion and possible issues with multiple exporters of that package.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)