Hi,

I am having a bit of trouble understanding how the package versioning works. I 
assume that BND is doing some calculations, but it seems to be getting some 
input, and I cannot figure out from where.

When I build the org.apache.felix.converter project, it produces this in the 
manifest (edited for reading):

  Export-Package: 
     org.osgi.util.converter;version="1.0”;
         status=provisional;
         uses:="org.osgi.util.function“

Note that the packages are version="1.0”, and are tagged with 
“status=provisional”.

The version is easy to understand, as the package-info.java file has this 
Annotation:

  @Version("1.0")
  package org.osgi.util.converter;

But where does the “provisional” come from? I was not able to find a 
configuration anywhere in the POMs…


Next, when I build the org.apache.felix.serializer project, which depends on 
org.apache.felix.converter, I get this:

  Import-Package: 
     org.osgi.util.converter;version="[0.1,1)”;
        status=provisional,

Again, I get the “status=provisional”, but even if I don’t know where it comes 
from, at least it matches the export from the Converter.

What is troubling here is that bnd (I assume) is calculating the input as 
version="[0.1,1)”, which means that my system will not resolve to the correct 
version of the converter.


Cheers,
=David



Reply via email to