Discussion:
[tycho-user] How to require exact bundle version (including qualifier)?
Andreas Sewe
2018-07-09 15:20:42 UTC
Permalink
Hi,

I wonder whether the following is possible with Tycho: For historical
reasons, we have two bundles A and B which need to be installed at
exactly the same version, including the qualifier (in a sense, these
bundles are not versioned, let alone semantically :-( ).

But how can I express this?

In A's MANIFEST.MF

Require-Bundle: B;bundle-version="[1.2.3,1.2.3]",

doesn't work if B is at 1.2.3-SNAPSHOT, as that version is larger than
1.2.3 without qualifier.

But writing

Require-Bundle: B;bundle-version="[1.2.3.qualifier,1.2.3.qualifier]",

instead makes A compile with Tycho, but ultimately, the update site
[ERROR] Software being installed: update-site raw:1.2.3.'SNAPSHOT'/format(n[.n=0;[.n=0;[-S]]]):1.2.3-SNAPSHOT
[ERROR] Missing requirement: A 1.2.3.201807091513 requires 'osgi.bundle; B [1.2.3.qualifier,1.2.3.qualifier]' but it could not be found
[ERROR] Cannot satisfy dependency: A.feature.group 1.2.3.201807091513 depends on: org.eclipse.equinox.p2.iu; A [1.2.3.201807091513,1.2.3.201807091513]
[ERROR] Cannot satisfy dependency: update-site raw:1.2.3.'SNAPSHOT'/format(n[.n=0;[.n=0;[-S]]]):1.2.3-SNAPSHOT depends on: org.eclipse.equinox.p2.iu; A.feature.group 0.0.0
Apparently, the string "qualifier" isn't replaced during the build in
this position but instead taken literally, where of course it doesn't
equal the real timestamp-based qualifier: 201807091513.

So, I wonder whether this is possible at all? If it is, I'd really
appreciate some pointers.

Best wishes,

Andreas
--
Codetrails GmbH
The best code possible

Robert-Bosch-Str. 7, 64293 Darmstadt
Mobile: +49-170-811-3791
http://www.codetrails.com/

Managing Director: Dr. Marcel Bruch
Handelsregister: Darmstadt HRB 91940
Loading...