Hi,
I added a spi package to te api.jar, use this spi package in the provider, but dont export it.
I do not use the spi package in the application, but resolving the application fails with:
Unable to resolve <<INITIAL>> version=null:
missing requirement de.ibapl.spsw.provider; version=1.0.0.201612121920
-> Unable to resolve de.ibapl.spsw.provider version=1.0.0.201612121952:
missing requirement de.ibapl.spsw.api; version=[1.0.0,2.0.0); version=[1.0.0,1.1.0)
-> Unable to resolve de.ibapl.spsw.api version=1.0.0.201612121952:
missing requirement false]]
The resolver should not care about the spi, ist intended for the providers...
here the MANIFEST.MF entries:
api.jar:
Manifest-Version: 1.0
Bundle-Description: SPSW API
Bundle-SymbolicName: de.ibapl.spsw.api
Built-By: aploese
Bnd-LastModified: 1481572328052
Bundle-ManifestVersion: 2
Import-Package: de.ibapl.spsw.api;version="[1.0,1.1)",javax.inject;ver
sion="[1.0,2)"
Require-Capability: compile-only,
osgi.ee;filter:="(&(
osgi.ee=JavaSE)(v
ersion=1.7))"
Tool: Bnd-3.3.0.201609221906
Export-Package: de.ibapl.spsw.api;version="1.0.0";uses:="javax.inject"
,de.ibapl.spsw.spi;version="1.0.0";uses:="de.ibapl.spsw.api",de.ibapl
.spsw.logging;uses:="de.ibapl.spsw.api";version="1.0.0"
Bundle-Name: SPSW API
Bundle-Version: 1.0.0.201612121952
Created-By: 1.8.0_111 (Oracle Corporation)
Build-Jdk: 1.8.0_111
provider.jar
Manifest-Version: 1.0
Bundle-Description: SPSW SPI
Bundle-SymbolicName: de.ibapl.spsw.provider
Built-By: aploese
Bnd-LastModified: 1481572369601
Bundle-ManifestVersion: 2
Import-Package: de.ibapl.spsw.api;version="[1.0,1.1)",de.ibapl.spsw.sp
i;version="[1.0,2)",javax.annotation,javax.inject;version="[1.0,2)"
Require-Capability:
osgi.ee;filter:="(&(
osgi.ee=JavaSE)(version=1.7))"
Service-Component: OSGI-INF/ide.ibapl.spsw.provider.xml
Tool: Bnd-3.3.0.201609221906
Provide-Capability: osgi.service;objectClass:List<String>="de.ibapl.sp
sw.api.SerialPortSocketFactory"
Bundle-Name: SPSW Provider
Bundle-Version: 1.0.0.201612121952
Bundle-NativeCode: lib/
libspsw-linux-amd64-1.0.0-SNAPSHOT.so; osname=L
inux; processor=x86_64,lib/
libspsw-linux-i386-1.0.0-SNAPSHOT.so; osna
me=Linux; processor=x86,lib/
libspsw-linux-armhf-1.0.0-SNAPSHOT.so; os
name=Linux; processor=arm_be,lib/spsw-windows-x86_64-1.0.0-SNAPSHOT.d
ll; osname=Win32; processor=x86_64,lib/spsw-windows-x86-1.0.0-SNAPSHO
T.dll; osname=Win32; processor=x86
Private-Package: de.ibapl.spsw.provider;version="1.0.0",lib
Created-By: 1.8.0_111 (Oracle Corporation)
Build-Jdk: 1.8.0_111
application.jar
Manifest-Version: 1.0
Bnd-LastModified: 1481572749663
Bundle-Description: SPSW Application
Bundle-ManifestVersion: 2
Bundle-Name: de.ibapl.spsw.application
Bundle-SymbolicName: de.ibapl.spsw.application
Bundle-Version: 1.0.0.201612121959
Created-By: 1.8.0_111 (Oracle Corporation)
EnRoute-Application: de.ibapl.spsw
Import-Package: de.ibapl.spsw.api;version="[1.0,2)",de.ibapl.spsw.logg
ing;version="[1.0,2)"
JPM-Command: spsw
Private-Package: de.ibapl.spsw.application
Provide-Capability: osgi.service;objectClass:List<String>="java.lang.R
unnable"
Require-Capability: osgi.service;filter:="(objectClass=de.ibapl.spsw.a
pi.SerialPortSocketFactory)";effective:=active,
osgi.ee;filter:="(&(os
gi.ee=JavaSE)(version=1.8))"
Service-Component: OSGI-INF/de.ibapl.spsw.xml
Tool: Bnd-3.3.0.201609221906