db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-6069) Derby doesn't export the version number in its OSGI exported packages
Date Mon, 25 Mar 2013 15:53:15 GMT

    [ 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

Mime
View raw message