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

Marcel Offermans commented on FELIX-682:
----------------------------------------

I'm saying that based on the text I quoted from the Java tutorial that explains 
how you can specify an implementation version per package. You now quote a 
different spec that exists for extensions. Both of us are making assumptions 
here:
 - I am assuming that a bundle somehow inherits from a jar spec wise (that 
manifest headers that are defined for normal Java jars are somehow also valid 
for bundles)
 - you are assuming that a bundle somehow inherits from an extension (again 
manifest wise)

Neither is probably true.

Whilst I don't mind discussing if it makes sense to somehow provide package 
specification and implementation versions for the Package class, I would first 
like to see how those should be mapped, because right now I see many 
differences between the package and extension versioning spec and the OSGi 
spec. To be honest, I don't see why you don't just repackage your classes into 
an extension jar if you want to use your code that way. Well, I know one 
reason, maven does not exactly make that easy for you, but that's a completely 
different discussion.

I would say, let's first discuss a way to specify those versions, then propose 
an RFE to OSGi. If we implement this now in Felix, all it will do is create an 
implementation where people start relying on non-standard behavior with the end 
result that their bundles won't work the same way on other platforms anymore.

> Package.getImplementationVersion returns null for package loaded by Felix
> -------------------------------------------------------------------------
>
>                 Key: FELIX-682
>                 URL: https://issues.apache.org/jira/browse/FELIX-682
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-1.0.4
>         Environment: NA
>            Reporter: Sahoo
>             Fix For: felix-1.2.0
>
>         Attachments: Felix-682.zip
>
>
> Even though MANIFEST.MF has proper entry for Implementation-Version, 
> Package.getImplementationVersion() returns null. A  reproducible test case is 
> attached. It is described below:
> public class Foo implements BundleActivator {
>     public void start(BundleContext context) throws Exception {
>         Package p = getClass().getPackage();
>         System.out.println(p);
>         System.out.println(p.getImplementationVersion());
>    }
> }
> The headers for this bundle are:
> osgi-test1 (10)
> ---------------
> Tool = Bnd-0.0.255
> Bundle-Activator = sahoo.osgitest1.Foo
> Implementation-Version = 1.0-SNAPSHOT
> Implementation-Vendor-Id = sahoo
> Bundle-Version = 1.0.0.SNAPSHOT
> Build-Jdk = 1.5.0_13-rev
> Implementation-Title = osgi-test1
> Created-By = Apache Maven Bundle Plugin
> Bundle-ManifestVersion = 2
> Manifest-Version = 1.0
> Bnd-LastModified = 1218821794953
> Private-Package = sahoo.osgitest1
> Bundle-Name = osgi-test1
> Built-By = ss141213
> Import-Package = org.osgi.framework;version="1.3"
> Bundle-SymbolicName = sahoo.osgi-test1

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to