[
https://issues.apache.org/jira/browse/DERBY-6069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13612746#comment-13612746
]
Rick Hillegas commented on DERBY-6069:
--------------------------------------
Thanks, Christian. I would be interested in seeing your patch. I'm not an
expert on OSGi package version numbers. These are the resources I consulted
after reading your comment:
http://www.aqute.biz/Bnd/Versioning
http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf
http://www.vogella.com/articles/OSGi/article.html#osgiarch_dynamic
I would appreciate your pointing me to better resources if you can.
Here are my thoughts based on reading those resources:
1) OSGi defines a 4-part version number but only the first 3 parts seem to be
involved in version checking. The first 3 parts of a Derby release id seem to
map naturally onto the first 3 parts of an OSGi version number. 3-part Derby
version numbers should be sufficient.
2) OSGi wants version numbers to be bound to all of the packages in a bundle's
public api. There seem to be several api packages missing from the
Export-Package manifest entry of derby.jar. We would want to put all of the
Derby public api packages into that entry.
Thanks,
-Rick
> Derby doesn't export the version number in its OSGI exported packages
> ---------------------------------------------------------------------
>
> Key: DERBY-6069
> URL: https://issues.apache.org/jira/browse/DERBY-6069
> Project: Derby
> Issue Type: Bug
> Affects Versions: 10.9.1.0, 10.8.3.0
> Reporter: Christian Müller
> Labels: osgi
>
> Derby doesn't export the version number in its OSGI exported packages. See
> the following exports:
> {noformat}
> karaf@root> headers 259
> Apache Derby 10.8 (259)
> -----------------------
> Manifest-Version = 1.0
> Ant-Version = Apache Ant 1.7.0
> Class-Path = derbyLocale_cs.jar derbyLocale_de_DE.jar derbyLocale_es.jar
> derbyLocale_fr.jar derbyLocale_hu.jar derbyLocale_it.jar derbyLocal
> e_ja_JP.jar derbyLocale_ko_KR.jar derbyLocale_pl.jar derbyLocale_pt_BR.jar
> derbyLocale_ru.jar derbyLocale_zh_CN.jar derbyLocale_zh_TW.jar
> Sealed = true
> Created-By = 2.4 (IBM Corporation)
> Bundle-Vendor = Apache Software Foundation
> Bundle-Activator = org.apache.derby.osgi.EmbeddedActivator
> Bundle-Name = Apache Derby 10.8
> Bundle-SymbolicName = derby
> Bundle-Version = 10.8.3000000.1405108
> Bundle-ManifestVersion = 2
> DynamicImport-Package =
> *
> Export-Package =
> org.apache.derby.authentication,
> org.apache.derby.database,
> org.apache.derby.io,
> org.apache.derby.jdbc,
> org.apache.derby.vti
> {noformat}
> {noformat}
> karaf@root> headers 250
> Apache Derby 10.9 (250)
> -----------------------
> Manifest-Version = 1.0
> Ant-Version = Apache Ant 1.7.1
> Class-Path = derbyLocale_cs.jar derbyLocale_de_DE.jar derbyLocale_es.jar
> derbyLocale_fr.jar derbyLocale_hu.jar derbyLocale_it.jar derbyLocal
> e_ja_JP.jar derbyLocale_ko_KR.jar derbyLocale_pl.jar derbyLocale_pt_BR.jar
> derbyLocale_ru.jar derbyLocale_zh_CN.jar derbyLocale_zh_TW.jar
> Sealed = true
> Created-By = 20.6-b01-415 (Apple Inc.)
> Bundle-Vendor = Apache Software Foundation
> Bundle-Activator = org.apache.derby.osgi.EmbeddedActivator
> Bundle-Name = Apache Derby 10.9
> Bundle-SymbolicName = derby
> Bundle-Version = 10.9.1000000.1344872
> Bundle-ManifestVersion = 2
> DynamicImport-Package =
> *
> Export-Package =
> org.apache.derby.authentication,
> org.apache.derby.database,
> org.apache.derby.io,
> org.apache.derby.jdbc,
> org.apache.derby.vti
> {noformat}
> This leads to problems, if other bundles imports derby packages with a
> specific version or version range (like spring-jdbc do):
> {noformat}
> karaf@root> headers 251
> Spring JDBC (251)
> -----------------
> Manifest-Version = 1.0
> ...
> Import-Package =
> ...
> org.apache.derby.impl.io;resolution:=optional;version="[10.5.0,
> 11.0.0)",
> org.apache.derby.jdbc;resolution:=optional;version="[10.5.0, 11.0.0)",
> ...
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira