Ok, answering myself after remember on how OSGi treats a range version, reading section 3.2.6 of the OSGi Core Specification...

If a version range is specified as a single version, it must be interpreted as the range [version,∞).

So, in order to have a fixed version I MUST set the header this way:

com.c8tech.hawkeyes.lib;type=osgi.bundle;version="[0.1.1.20170424014114,0.1.1.20170424014114]";resolution:=mandatory

best,

Cristiano


On 22/04/2017 22:48, Cristiano Gavião wrote:
Hello all,

I know that the subsystem specs says that we should not use version range for composite subsystem's contents.

But I was not able to understand the reason I got the error below:

Error installing 'com.c8tech.hawkeyes.esa'
org.osgi.service.subsystem.SubsystemException: Composite subsystem using version range for content: com.c8tech.hawkeyes.lib;type=osgi.bundle;version=0.1.1.20170423004731;resolution:=mandatory at org.apache.aries.subsystem.core.internal.SubsystemManifestValidator.validate(SubsystemManifestValidator.java:31) at org.apache.aries.subsystem.core.internal.BasicSubsystem.<init>(BasicSubsystem.java:107) at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:75) at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:30)
    at java.security.AccessController.doPrivileged(Native Method)

I have resolved the qualifier before have generated the esa, as its showed in the error, the version is 0.1.1.20170423004731.

what am I missing here ?

best regards and thanks,

Cristiano




Reply via email to