Topic
  • 5 replies
  • Latest Post - ‏2012-09-25T13:39:31Z by SystemAdmin
Jacek_Laskowski
Jacek_Laskowski
133 Posts

Pinned topic Why do JAX-RS jars use 1.0 not 1.0.0 as their version?

‏2012-09-24T15:08:21Z |
Hi,

Why are JAX-RS jars not following the semantic versioning as the other jars do? They're currently versioned as 1.0:

dev/ibm-api/com.ibm.websphere.appserver.api.jaxrs_1.0.jar dev/third-party/com.ibm.websphere.appserver.thirdparty.jaxrs_1.0.jar

which I think should be with 1.0.0.

Jacek
Japila :: verba docent, exempla trahunt
  • SystemAdmin
    SystemAdmin
    590 Posts

    Re: Why do JAX-RS jars use 1.0 not 1.0.0 as their version?

    ‏2012-09-24T16:42:48Z  
    In OSGi a version number of 1, 1.0 and 1.0.0 are considered identical. You should not infer any meaning from inconsistent use of 1, 1.0 and 1.0.0 on a jar file name. In any case, until you have a 2nd jar, to assert that this example is not following semantic version is slightly unfair.

    In any case looking in the dev/ibm-api and dev/third-party directories all the jars appear to end _1.0.jar.

    Thanks
    Alasdair
  • Jacek_Laskowski
    Jacek_Laskowski
    133 Posts

    Re: Why do JAX-RS jars use 1.0 not 1.0.0 as their version?

    ‏2012-09-25T09:03:22Z  
    In OSGi a version number of 1, 1.0 and 1.0.0 are considered identical. You should not infer any meaning from inconsistent use of 1, 1.0 and 1.0.0 on a jar file name. In any case, until you have a 2nd jar, to assert that this example is not following semantic version is slightly unfair.

    In any case looking in the dev/ibm-api and dev/third-party directories all the jars appear to end _1.0.jar.

    Thanks
    Alasdair
    Hi,

    Thanks for the answer. You're right, I was a bit too unfair to the developers and architects of Liberty Profile and apologize wholeheartedly.

    What I however meant was to turn your attention to inconsistency that might've been avoided when a consistent versioning had been used. Many people pay attention to details. OSGi accepts 1, 1.0 and 1.0.0 as the same versions, but recommends using x.y.z as the versioning scheme.

    Jacek
    Japila :: verba docent, exempla trahunt
  • SystemAdmin
    SystemAdmin
    590 Posts

    Re: Why do JAX-RS jars use 1.0 not 1.0.0 as their version?

    ‏2012-09-25T10:27:28Z  
    Hi,

    Thanks for the answer. You're right, I was a bit too unfair to the developers and architects of Liberty Profile and apologize wholeheartedly.

    What I however meant was to turn your attention to inconsistency that might've been avoided when a consistent versioning had been used. Many people pay attention to details. OSGi accepts 1, 1.0 and 1.0.0 as the same versions, but recommends using x.y.z as the versioning scheme.

    Jacek
    Japila :: verba docent, exempla trahunt
    I am not aware of the recommendation from OSGi you are referring to, could you provide a link to it please?

    Thanks
    Alasdair
  • Jacek_Laskowski
    Jacek_Laskowski
    133 Posts

    Re: Why do JAX-RS jars use 1.0 not 1.0.0 as their version?

    ‏2012-09-25T11:08:36Z  
    I am not aware of the recommendation from OSGi you are referring to, could you provide a link to it please?

    Thanks
    Alasdair
    Hi,

    I could draw the conclusion from section 3.2.5 Version: "The default value for a version is 0.0.0." (it's not 0 or 0.0) and 3.2.6 Version Ranges: "The default for a non-specified version range is 0, which maps to [0.0.0,∞)." (again, it's 0.0.0 for whatever reasons). Moreover, com.ibm.ws.tx.jta.extensions_1.0.0.jar is with 1.0.0 while many other jars in the lib directory are not.

    I can live with it, but inconsistency has always been catching my attention.

    Jacek
    Japila :: verba docent, exempla trahunt
  • SystemAdmin
    SystemAdmin
    590 Posts

    Re: Why do JAX-RS jars use 1.0 not 1.0.0 as their version?

    ‏2012-09-25T13:39:31Z  
    Hi,

    I could draw the conclusion from section 3.2.5 Version: "The default value for a version is 0.0.0." (it's not 0 or 0.0) and 3.2.6 Version Ranges: "The default for a non-specified version range is 0, which maps to [0.0.0,∞)." (again, it's 0.0.0 for whatever reasons). Moreover, com.ibm.ws.tx.jta.extensions_1.0.0.jar is with 1.0.0 while many other jars in the lib directory are not.

    I can live with it, but inconsistency has always been catching my attention.

    Jacek
    Japila :: verba docent, exempla trahunt
    Hi,

    Section 3.2.6 has the following example:

    Import-Package: com.acme.foo;version="[1.23, 2)", com.acme.bar;version="[4.0, 5.0)"

    the use of only the major and minor components in the example indicates that the specification does not intend to produce a recommendation a major, minor and micro component should be used.

    Also section 3.6.3 says this about the Bundle-Version:

    If the minor or micro version components are not specified, they have a default value of 0.

    which would indicate the specification is not trying to indicate a preference for one version to another. It is also worth noting that the convention of naming a bundle jar as <symbolic_name>_<version>.jar is an Eclipse convention and not a recommendation from OSGi which tends not to follow that convention when producing binaries.

    Alasdair