Skip to content

Commit f702fae

Browse files
committed
fix(cdi): provide JavaAnnotation osgi.contract via system capabilities
The javax.annotation-api jar is already an OSGi bundle and doesn't need wrapping. The osgi.contract capability required by aries.cdi.extender is now provided by the system bundle via karaf-capabilities in config.properties, with javax.annotation packages exported as system packages extra.
1 parent b2e1eed commit f702fae

3 files changed

Lines changed: 13 additions & 5 deletions

File tree

assemblies/features/base/src/main/filtered-resources/resources/etc/config.properties

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,19 @@ org.osgi.framework.system.packages.extra= \
9191
org.apache.karaf.branding, \
9292
sun.misc, \
9393
com.sun.jmx.remote.protocol, \
94-
com.sun.jmx.remote.protocol.jmxmp
94+
com.sun.jmx.remote.protocol.jmxmp, \
95+
javax.annotation;version="1.3", \
96+
javax.annotation.security;version="1.3", \
97+
javax.annotation.sql;version="1.3"
9598

9699
org.osgi.framework.system.capabilities= \
97100
${eecap-${java.specification.version}}, \
98101
${${karaf.framework}-capabilities}, \
99102
${karaf-capabilities}
100103

101104
karaf-capabilities= \
102-
osgi.service;objectClass:List<String>=org.apache.karaf.info.ServerInfo
105+
osgi.service;objectClass:List<String>=org.apache.karaf.info.ServerInfo, \
106+
osgi.contract;osgi.contract=JavaAnnotation;uses:="javax.annotation,javax.annotation.security,javax.annotation.sql";version:List<Version>="1.3,1.2,1.1,1"
103107

104108
felix-capabilities= \
105109
osgi.service;objectClass:List<String>=org.osgi.service.packageadmin.PackageAdmin, \

assemblies/features/specs/src/main/feature/feature.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@
155155
<!-- cdi -->
156156
<feature name="cdi" version="1.1.3">
157157
<feature prerequisite="true">spifly</feature>
158-
<bundle dependency="true">wrap:mvn:javax.annotation/javax.annotation-api/${annotation-api.version}$overwrite=merge&amp;Provide-Capability=osgi.contract;osgi.contract=JavaAnnotation;version:Version=1.3;uses:="javax.annotation,javax.annotation.security,javax.annotation.sql"</bundle>
158+
<bundle dependency="true">mvn:javax.annotation/javax.annotation-api/${annotation-api.version}</bundle>
159159
<bundle>mvn:org.apache.xbean/xbean-bundleutils/4.17</bundle>
160160
<bundle>mvn:org.apache.xbean/xbean-asm8-shaded/4.17</bundle>
161161
<bundle>mvn:org.apache.xbean/xbean-finder-shaded/4.17</bundle>

itests/test/src/test/filtered-resources/etc/config.properties

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,18 @@ org.osgi.framework.system.packages.extra= \
9191
org.apache.karaf.branding, \
9292
org.apache.karaf.jaas.boot.principal, \
9393
org.apache.karaf.jaas.boot, \
94-
sun.misc
94+
sun.misc, \
95+
javax.annotation;version="1.3", \
96+
javax.annotation.security;version="1.3", \
97+
javax.annotation.sql;version="1.3"
9598

9699
org.osgi.framework.system.capabilities= \
97100
${eecap-${java.specification.version}}, \
98101
osgi.service;effective:=active;objectClass=org.osgi.service.packageadmin.PackageAdmin, \
99102
osgi.service;effective:=active;objectClass=org.osgi.service.resolver.Resolver, \
100103
osgi.service;effective:=active;objectClass=org.osgi.service.startlevel.StartLevel, \
101-
osgi.service;effective:=active;objectClass=org.osgi.service.url.URLHandlers
104+
osgi.service;effective:=active;objectClass=org.osgi.service.url.URLHandlers, \
105+
osgi.contract;osgi.contract=JavaAnnotation;uses:="javax.annotation,javax.annotation.security,javax.annotation.sql";version:List<Version>="1.3,1.2,1.1,1"
102106

103107
eecap-18 = osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \
104108
osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0", \

0 commit comments

Comments
 (0)