You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Chetan Mehrotra <ch...@gmail.com> on 2014/02/03 06:09:45 UTC

How to version packages exported from embedded bundles

Hi,

I need some guidance around how to version packages which are exported
from embedded depedency. In case of Commons Log we are embedding
Logback jars. So far we were using version 1.0.13 and now we need to
switch to 1.1.0. However Logback (like most thirdparty jars) does not
follow OSGi semantic versioning guidelines and versions the packages
as per release number.

In most cases client of Commons Log would not have any API dependency
on the Logback unless they are providing custom Appenders

So far there has been no release of common log jar so we can safely
export the Logback packages at 1.1.0 version. But what should we do in
future

Some of the options I can think of

1. Do not export package with versions i.e. let it default to 0.0.0.
2. OR Keep a watch on changes and release it at versions which confirm
    to OSGi Semantic Versioning guidelines
3.  Similar to #2 above but we then export packages twice. One as per version
     stated in Logback jar and another at version which confirms to #2
4. OR Let it export at release version and expect the client bundles to have
   a more relaxed import range for versions

Similar issue exist with Slf4j also

Chetan Mehrotra

Re: How to version packages exported from embedded bundles

Posted by Felix Meschberger <fm...@adobe.com>.
Hi

Am 03.02.2014 um 06:09 schrieb Chetan Mehrotra <ch...@gmail.com>:

> Hi,
> 
> I need some guidance around how to version packages which are exported
> from embedded depedency. In case of Commons Log we are embedding
> Logback jars. So far we were using version 1.0.13 and now we need to
> switch to 1.1.0. However Logback (like most thirdparty jars) does not
> follow OSGi semantic versioning guidelines and versions the packages
> as per release number.
> 
> In most cases client of Commons Log would not have any API dependency
> on the Logback unless they are providing custom Appenders
> 
> So far there has been no release of common log jar so we can safely
> export the Logback packages at 1.1.0 version. But what should we do in
> future
> 
> Some of the options I can think of
> 
> 1. Do not export package with versions i.e. let it default to 0.0.0.
> 2. OR Keep a watch on changes and release it at versions which confirm
>    to OSGi Semantic Versioning guidelines
> 3.  Similar to #2 above but we then export packages twice. One as per version
>     stated in Logback jar and another at version which confirms to #2
> 4. OR Let it export at release version and expect the client bundles to have
>   a more relaxed import range for versions

I tend to favor this option, but …

… as SLF4J and Logback both provide OSGi metadata we might in fact expect that metadata to be reasonable. So how about option 5:

5. Export at the version provided by the embedded library (as in Option 4) and discuss with Logback to provide correct semantic versions on exports.

WDYT ?

Regards
Felix

> 
> Similar issue exist with Slf4j also
> 
> Chetan Mehrotra