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

Richard S. Hall commented on FELIX-3059:
----------------------------------------

Although it did fail for me too in 3.2.2, I played around with this in my trunk 
build of the framework and it appears to be working:

g! lb
START LEVEL 1
   ID|State      |Level|Name
    0|Active     |    0|System Bundle (3.3.0.SNAPSHOT)
    1|Active     |    1|Apache Felix Bundle Repository (1.6.2)
    2|Active     |    1|Apache Felix Gogo Command (0.8.0)
    3|Active     |    1|Apache Felix Gogo Runtime (0.8.0)
    4|Active     |    1|Apache Felix Gogo Shell (0.8.0)
    5|Installed  |    1|A (1.0.0.qualifier)
    6|Installed  |    1|B (1.0.0.qualifier)
    7|Installed  |    1|FelixWorkPlugin (1.0.0.qualifier)
    8|Installed  |    1|FelixExtendedWorkPlugin (1.0.0.qualifier)
g! start 5 6 7 8
DEBUG: WIRE: [5.0] osgi.wiring.package; 
(&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)) -> [0]
DEBUG: WIRE: [6.0] osgi.wiring.package; 
(&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)) -> [0]
DEBUG: WIRE: [6.0] osgi.wiring.bundle; (osgi.wiring.bundle=A) -> [5.0]
a.One (b.Activator <- super() from b.Three)
b.Three (b.Activator)
a.One (b.Activator <- super() from a.Two)
a.Two (b.Activator)
a.One (b.Activator)
DEBUG: WIRE: [7.0] osgi.wiring.package; 
(&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)) -> [0]
DEBUG: WIRE: [7.0] osgi.wiring.bundle; (osgi.wiring.bundle=B) -> [6.0]
a.One (c.Activator <- super() from c.Five <- super() from b.Three)
b.Three (c.Activator <- super() from c.Five)
c.Five (c.Activator)
a.One (c.Activator <- super() from c.Four <- super() from a.Two)
a.Two (c.Activator <- super() from c.Four)
c.Four (c.Activator)
a.One (c.Activator <- super() from b.Three)
b.Three (c.Activator)
a.One (c.Activator <- super() from a.Two)
a.Two (c.Activator)
a.One (c.Activator)
DEBUG: WIRE: [8.0] osgi.wiring.package; 
(&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)) -> [0]
DEBUG: WIRE: [8.0] osgi.wiring.bundle; (osgi.wiring.bundle=C) -> [7.0]
a.One (d.Activator <- super() from c.Five <- super() from b.Three)
b.Three (d.Activator <- super() from c.Five)
c.Five (d.Activator)
a.One (d.Activator <- super() from c.Four <- super() from a.Two)
a.Two (d.Activator <- super() from c.Four)
c.Four (d.Activator)
a.One (d.Activator <- super() from b.Three)
b.Three (d.Activator)
a.One (d.Activator)
a.One (d.Activator <- super() from a.Two)
a.Two (d.Activator)
g! stop 5 6 7 8
g! refresh 5 6 7 8
g! start 8
DEBUG: WIRE: [6.0] osgi.wiring.package; 
(&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)) -> [0]
DEBUG: WIRE: [6.0] osgi.wiring.bundle; (osgi.wiring.bundle=A) -> [5.0]
DEBUG: WIRE: [7.0] osgi.wiring.package; 
(&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)) -> [0]
DEBUG: WIRE: [7.0] osgi.wiring.bundle; (osgi.wiring.bundle=B) -> [6.0]
DEBUG: WIRE: [8.0] osgi.wiring.package; 
(&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)) -> [0]
DEBUG: WIRE: [8.0] osgi.wiring.bundle; (osgi.wiring.bundle=C) -> [7.0]
DEBUG: WIRE: [5.0] osgi.wiring.package; 
(&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)) -> [0]
a.One (d.Activator <- super() from c.Five <- super() from b.Three)
b.Three (d.Activator <- super() from c.Five)
c.Five (d.Activator)
a.One (d.Activator <- super() from c.Four <- super() from a.Two)
a.Two (d.Activator <- super() from c.Four)
c.Four (d.Activator)
a.One (d.Activator <- super() from b.Three)
b.Three (d.Activator)
a.One (d.Activator)
a.One (d.Activator <- super() from a.Two)
a.Two (d.Activator)
g! refresh 8
g! DEBUG: WIRE: [8.0] osgi.wiring.package; 
(&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)) -> [0]
DEBUG: WIRE: [8.0] osgi.wiring.bundle; (osgi.wiring.bundle=C) -> [7.0]
a.One (d.Activator <- super() from c.Five <- super() from b.Three)
b.Three (d.Activator <- super() from c.Five)
c.Five (d.Activator)
a.One (d.Activator <- super() from c.Four <- super() from a.Two)
a.Two (d.Activator <- super() from c.Four)
c.Four (d.Activator)
a.One (d.Activator <- super() from b.Three)
b.Three (d.Activator)
a.One (d.Activator)
a.One (d.Activator <- super() from a.Two)
a.Two (d.Activator)
g!

Could you test the latest snapshot build of the framework distribution and see 
if it is working for you? You should be able to use the snapshot build for 
development purposes, since it should be reasonably stable.

> Require-Bundle w/ visibility:=reexport not transitive
> -----------------------------------------------------
>
>                 Key: FELIX-3059
>                 URL: https://issues.apache.org/jira/browse/FELIX-3059
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-3.2.2
>         Environment: Windows XP, JavaSE-1.6, Eclipse 3.6 Helios
>            Reporter: Marko Friedemann
>             Fix For: framework-4.0.0
>
>         Attachments: reexport-example.zip
>
>
> As described in
>  http://www.mail-archive.com/[email protected]/msg10677.html [1],
> Require-Bundle with visibility:=reexport does not work transitively in Felix 
> 3.2.2 (cannot comment wrt. other versions, only tested this one).
> Similar issue with Felix M2 plugin described in 
> http://www.mail-archive.com/[email protected]/msg02622.html.
> See attached zip for an example consisting of 4 bundles as described in [1].
> Example works in Equinox, fails to load a.One in Felix 3.2.2.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to