Re: Manifest Package directive
Richard S. Hall wrote: I am looking at the manifest of Shell TUI and it has: Import-Package: org.apache.felix.shell;version=1.0,org.osgi.framework; version=1.3 OOps... I have just duoble checked and I found the Import-Package line :'( Sorry for the false alarm... -> richard
Re: Manifest Package directive
Felix Meschberger wrote: Hi, On 4/13/07, Stefano Lenzi <[EMAIL PROTECTED]> wrote: If the package MUST be imported, why if you look at the manifest of "Shell TUI" bundle you'll see that NO Import-Package header are presentat all!! ( If you want I can attach the manifest ) I do understand this question the shell.tui's bundle manifest includes an Import-Package for org.apache.felix.shell. Therefore the import works as expected. No no. I meant: "the shell.tui's bundle manifest do no includes a Import-Package for org.apache.felix.shell but it works!!!" It looks like a bug or maybe something that I do not understand about OSGi R4 classloading. Also why is the "Shell Tui" bundle working? How can it can resolve the class that define the service that it uses? May be that the Felix's classloader uses the Import-Service? I would not know of this, but maybe yes. Honestly, I never quite understood the Import-Service header. The OSGi R4 specification states that "Import-Service" should be only used for description of the bundle and also the "Import-Service" is deprecated, so if Felix is using the "Import-Service" for classloading that is a bug Regards Felix
Re: Manifest Package directive
Stefano Lenzi wrote: Felix Meschberger wrote: Hi Stefano, 1 - What is the meaning of Ignore-Package and Private-Package manifest directive? I couldn't find any information on those directive on OSGi R4 specification :S These come from the Ignore-Package and Private-Package instructions to BND and are AFAIK not official OSGi manifest headers. OK! So those are not used by Felix at all :) Correct, these are basically informative headers from BND. 2 - Why does not "Shell TUI" bundle Import-Package report the package org.apache.felix.shell even if in it's used in the bundle Activator? The Activator refers to the ShellService of the org.apache.felix.shellpackage, hence this package MUST be imported. Hope this helps. Unfortunately it cause me other doubts :S. If the package MUST be imported, why if you look at the manifest of "Shell TUI" bundle you'll see that NO Import-Package header are present at all!! ( If you want I can attach the manifest ) I am looking at the manifest of Shell TUI and it has: Import-Package: org.apache.felix.shell;version=1.0,org.osgi.framework; version=1.3 -> richard Also why is the "Shell Tui" bundle working? How can it can resolve the class that define the service that it uses? May be that the Felix's classloader uses the Import-Service? Regards Felix
Re: Manifest Package directive
Hi, On 4/13/07, Stefano Lenzi <[EMAIL PROTECTED]> wrote: If the package MUST be imported, why if you look at the manifest of "Shell TUI" bundle you'll see that NO Import-Package header are presentat all!! ( If you want I can attach the manifest ) I do understand this question the shell.tui's bundle manifest includes an Import-Package for org.apache.felix.shell. Therefore the import works as expected. Also why is the "Shell Tui" bundle working? How can it can resolve the class that define the service that it uses? May be that the Felix's classloader uses the Import-Service? I would not know of this, but maybe yes. Honestly, I never quite understood the Import-Service header. Regards Felix
Re: Manifest Package directive
Felix Meschberger wrote: Hi Stefano, 1 - What is the meaning of Ignore-Package and Private-Package manifest directive? I couldn't find any information on those directive on OSGi R4 specification :S These come from the Ignore-Package and Private-Package instructions to BND and are AFAIK not official OSGi manifest headers. OK! So those are not used by Felix at all :) 2 - Why does not "Shell TUI" bundle Import-Package report the package org.apache.felix.shell even if in it's used in the bundle Activator? The Activator refers to the ShellService of the org.apache.felix.shellpackage, hence this package MUST be imported. Hope this helps. Unfortunately it cause me other doubts :S. If the package MUST be imported, why if you look at the manifest of "Shell TUI" bundle you'll see that NO Import-Package header are present at all!! ( If you want I can attach the manifest ) Also why is the "Shell Tui" bundle working? How can it can resolve the class that define the service that it uses? May be that the Felix's classloader uses the Import-Service? Regards Felix
Re: Manifest Package directive
Hi Stefano, 1 - What is the meaning of Ignore-Package and Private-Package manifest directive? I couldn't find any information on those directive on OSGi R4 specification :S These come from the Ignore-Package and Private-Package instructions to BND and are AFAIK not official OSGi manifest headers. 2 - Why does not "Shell TUI" bundle Import-Package report the package org.apache.felix.shell even if in it's used in the bundle Activator? The Activator refers to the ShellService of the org.apache.felix.shellpackage, hence this package MUST be imported. Hope this helps. Regards Felix
Manifest Package directive
Hi All, I was looking around on the bundles generated by the maven-bundle-plugin and I got some doubts. I hope that you can clarify me: 1 - What is the meaning of Ignore-Package and Private-Package manifest directive? I couldn't find any information on those directive on OSGi R4 specification :S 2 - Why does not "Shell TUI" bundle Import-Package report the package org.apache.felix.shell even if in it's used in the bundle Activator? Stefano "Kismet" Lenzi