]
Martin Gencur commented on ISPN-4853:
-------------------------------------
I would add that it might be possible to open the range so that a newer micro release can
be used. It is just not clear yet whether all Infinispan features would work correctly
with any newer/older "minor" version of all dependencies. This hasn't been
tested and I think it's currently safer to depend on exact versions or just versions
differing just by micro version. Infinispan is relatively new in OSGi world and there
still might be gaps in "semantic versioning" in ISPN itself or its
dependencies.
OSGI metadata import-package version ranges are too narrow
----------------------------------------------------------
Key: ISPN-4853
URL:
https://issues.jboss.org/browse/ISPN-4853
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 7.0.0.CR1
Environment: Any OSGI environment (but found on Glassfish / Apache Felix).
Reporter: Andrew Scully
Labels: OSGI, bundle, import, package
The OSGI import-package statement is specifying specific dependencies on a number of
packages, rather than a range. This makes it impossible to install Infinispan 7 in any
OSGI environment that doesn't have the exact versions of the dependencies present.
Normally, the version range for dependencies would range from the major:minor:revision of
the minimum requirement, up to the next major version (exclusive).
I've copied and pasted the "Imported Packages" output below from my Apache
Felix bundle console for the infinispan-core bundle.
The bundle will not resolve because the versions of javax.transaction, JGroups,
jboss-marshalling and jboss-logging are slightly newer than those required.
The org.osgi.service.blueprint dependency is also dubious -- I'm not sure you usually
have a runtime dependency on this package (even if you use Blueprint).
For example, the following statement...
org.jboss.marshalling;version="[1.4.4.Final,1.4.4.Final]"
...should probably be...
org.jboss.marshalling;version="[1.4.4.Final,2)"
...in order to comply with standard semantic versioning policy.
Felix output:
javax.management from org.apache.felix.framework (0)
javax.naming from org.apache.felix.framework (0)
javax.security.auth from org.apache.felix.framework (0)
javax.transaction,version=[1.1.0,1.1.0] -- Cannot be resolved
javax.transaction.xa,version=[1.1.0,1.1.0] -- Cannot be resolved
javax.xml.namespace from org.apache.felix.framework (0)
javax.xml.parsers from org.apache.felix.framework (0)
javax.xml.stream from org.apache.felix.framework (0)
javax.xml.transform from org.apache.felix.framework (0)
javax.xml.transform.dom from org.apache.felix.framework (0)
javax.xml.transform.stream from org.apache.felix.framework (0)
net.jcip.annotations from com.springsource.net.jcip.annotations (62)
org.infinispan.commons,version=[7.0.0.CR1,7.0.0.CR1] from org.infinispan.commons (159)
org.infinispan.commons.api,version=[7.0.0.CR1,7.0.0.CR1] from org.infinispan.commons
(159)
org.infinispan.commons.configuration,version=[7.0.0.CR1,7.0.0.CR1] from
org.infinispan.commons (159)
org.infinispan.commons.equivalence,version=[7.0.0.CR1,7.0.0.CR1] from
org.infinispan.commons (159)
org.infinispan.commons.executors,version=[7.0.0.CR1,7.0.0.CR1] from
org.infinispan.commons (159)
org.infinispan.commons.hash,version=[7.0.0.CR1,7.0.0.CR1] from org.infinispan.commons
(159)
org.infinispan.commons.io,version=[7.0.0.CR1,7.0.0.CR1] from org.infinispan.commons
(159)
org.infinispan.commons.logging,version=[7.0.0.CR1,7.0.0.CR1] from org.infinispan.commons
(159)
org.infinispan.commons.marshall,version=[7.0.0.CR1,7.0.0.CR1] from org.infinispan.commons
(159)
org.infinispan.commons.marshall.jboss,version=[7.0.0.CR1,7.0.0.CR1] from
org.infinispan.commons (159)
org.infinispan.commons.util,version=[7.0.0.CR1,7.0.0.CR1] from org.infinispan.commons
(159)
org.infinispan.commons.util.concurrent,version=[7.0.0.CR1,7.0.0.CR1] from
org.infinispan.commons (159)
org.infinispan.commons.util.concurrent.jdk8backported,version=[7.0.0.CR1,7.0.0.CR1] from
org.infinispan.commons (159)
org.jboss.logging,version=[3.1.2.GA,3.1.2.GA] -- Cannot be resolved
org.jboss.marshalling,version=[1.4.4.Final,1.4.4.Final] -- Cannot be resolved
org.jboss.marshalling.util,version=[1.4.4.Final,1.4.4.Final] -- Cannot be resolved
org.jgroups,version=[3.5.0.Final,3.5.0.Final] -- Cannot be resolved
org.jgroups.blocks,version=[3.5.0.Final,3.5.0.Final] -- Cannot be resolved
org.jgroups.blocks.mux,version=[3.5.0.Final,3.5.0.Final] -- Cannot be resolved
org.jgroups.jmx,version=[3.5.0.Final,3.5.0.Final] -- Cannot be resolved
org.jgroups.logging,version=[3.5.0.Final,3.5.0.Final] -- Cannot be resolved
org.jgroups.protocols,version=[3.5.0.Final,3.5.0.Final] -- Cannot be resolved
org.jgroups.protocols.relay,version=[3.5.0.Final,3.5.0.Final] -- Cannot be resolved
org.jgroups.protocols.tom,version=[3.5.0.Final,3.5.0.Final] -- Cannot be resolved
org.jgroups.stack,version=[3.5.0.Final,3.5.0.Final] -- Cannot be resolved
org.jgroups.util,version=[3.5.0.Final,3.5.0.Final] -- Cannot be resolved
org.osgi.service.blueprint,version=[1.0.0,2.0.0) -- Cannot be resolved
org.w3c.dom from org.apache.felix.framework (0)
org.xml.sax from org.apache.felix.framework (0)