I go to some trouble to give my snapshots true unique OSGi qualifiers.
Thus, 1.5.0-SNAPSHOT of my bundle has this in it's manifest:
Bundle-Name: rosapi-common
Bundle-SymbolicName: com.basistech.ws.rosapi-common
Bundle-Version: 1.5.0.v20150901094750
The feature.xml has:
<bundle>mvn:com.basistech.ws/rosapi-common/1.5.0-SNAPSHOT</bundle>
This should all be fine: if Karaf goes and fetches that snapshot, it
will find the version needed.
However, here's the error I get. Somehow, there's a wiring requirement
for the completely specific version (and not the usual sort of range),
triggered just by including the feature in the assembly --- and then
it isn't satisfied.
[ERROR] Failed to execute goal
org.apache.karaf.tooling:karaf-maven-plugin:4.0.1:assembly
(default-assembly) on project rosapi-assembly-min-test: Unable to
build assembly: Unable to resolve root: missing requirement [root]
osgi.identity; osgi.identity=rosapi-common; type=karaf.feature;
filter:="(&(osgi.identity=rosapi-common)(type=karaf.feature))" [caused
by: Unable to resolve rosapi-common/1.5.0.SNAPSHOT: missing
requirement [rosapi-common/1.5.0.SNAPSHOT] osgi.identity;
osgi.identity=com.basistech.ws.rosapi-common; type=osgi.bundle;
version="[1.5.0.v20150901094750,1.5.0.v20150901094750]";
resolution:=mandatory [caused by: Unable to resolve
com.basistech.ws.rosapi-common/1.5.0.v20150901094750: missing
requirement [com.basistech.ws.rosapi-common/1.5.0.v20150901094750]
osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.8))"]] -> [Help 1]