Merge pull request #1840 from jbonofre/KARAF-7747
KARAF-7747: Provide Spring 6.1.x/6.0.x features
diff --git a/assemblies/features/spring-legacy/pom.xml b/assemblies/features/spring-legacy/pom.xml
index a910aa8..17e6ddf 100644
--- a/assemblies/features/spring-legacy/pom.xml
+++ b/assemblies/features/spring-legacy/pom.xml
@@ -158,12 +158,12 @@
<descriptor>file:${project.build.directory}/feature/feature.xml</descriptor>
</descriptors>
<distribution>org.apache.karaf.features:framework</distribution>
- <javase>1.8</javase>
+ <javase>17</javase>
<framework>
<feature>framework</feature>
</framework>
<features>
- <feature>(?!(spring-struts|spring-web|spring-dm-web))*</feature>
+ <feature>spring|spring-(?!(struts|dm-web|web))*</feature>
</features>
</configuration>
</execution>
diff --git a/assemblies/features/spring-legacy/src/main/feature/feature.xml b/assemblies/features/spring-legacy/src/main/feature/feature.xml
index 0a8b56f..8c8eb04 100644
--- a/assemblies/features/spring-legacy/src/main/feature/feature.xml
+++ b/assemblies/features/spring-legacy/src/main/feature/feature.xml
@@ -281,6 +281,160 @@
<bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-websocket/${spring52.version}</bundle>
</feature>
+ <!-- Spring 5.3.x support -->
+
+ <feature name="spring" description="Spring 5.3.x support" version="${spring53.version}">
+ <bundle dependency="true" start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/${aopalliance.bundle.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/${spring53.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/${spring53.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/${spring53.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/${spring53.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/${spring53.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context-support/${spring53.version}</bundle>
+ </feature>
+
+ <feature name="spring-aspects" description="Spring 5.3.x AOP support" version="${spring53.version}">
+ <feature version="[${spring53.version},5.4)">spring</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aspects/${spring53.version}</bundle>
+ </feature>
+
+ <feature name="spring-instrument" description="Spring 5.3.x Instrument support" version="${spring53.version}">
+ <feature version="[${spring53.version},5.4)">spring</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-instrument/${spring53.version}</bundle>
+ </feature>
+
+ <feature name="spring-jdbc" description="Spring 5.3.x JDBC support" version="${spring53.version}">
+ <feature version="[${spring53.version},5.4)">spring-tx</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jdbc/${spring53.version}</bundle>
+ </feature>
+
+ <feature name="spring-jms" description="Spring 5.3.x JMS support" version="${spring53.version}">
+ <feature version="[${spring53.version},5.4)">spring-tx</feature>
+ <bundle dependency="true" start-level="10">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo.jta-spec.version}</bundle>
+ <bundle dependency="true" start-level="10">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo.jms-spec.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jms/${spring53.version}</bundle>
+ </feature>
+
+ <feature name="spring-messaging" description="Spring 5.3.x Messaging support" version="${spring53.version}">
+ <feature version="[${spring53.version},5.4)">spring</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-messaging/${spring53.version}</bundle>
+ </feature>
+
+ <feature name="spring-test" description="Spring 5.3.x Test support" version="${spring53.version}">
+ <feature version="[${spring53.version},5.4)">spring</feature>
+ <bundle dependency="true">mvn:javax.websocket/javax.websocket-api/1.1</bundle>
+ <bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/4.4.6</bundle>
+ <bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/4.5.2</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-test/${spring53.version}</bundle>
+ </feature>
+
+ <feature name="spring-orm" description="Spring 5.3.x ORM support" version="${spring53.version}">
+ <feature version="[${spring53.version},5.4)">spring-jdbc</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-orm/${spring53.version}</bundle>
+ </feature>
+
+ <feature name="spring-oxm" description="Spring 5.3.x OXM support" version="${spring53.version}">
+ <feature version="[${spring53.version},5.4)">spring</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-oxm/${spring53.version}</bundle>
+ </feature>
+
+ <feature name="spring-tx" description="Spring 5.3.x Transaction (TX) support" version="${spring53.version}">
+ <feature version="[${spring53.version},5.4)">spring</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/${spring53.version}</bundle>
+ </feature>
+
+ <feature name="spring-web" description="Spring 5.3.x Web support" version="${spring53.version}">
+ <feature version="[${spring53.version},5.4)">spring</feature>
+ <bundle dependency="true">mvn:javax.servlet/javax.servlet-api/3.1.0</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web/${spring53.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-webmvc/${spring53.version}</bundle>
+ </feature>
+
+ <feature name="spring-websocket" description="Spring 5.3.x WebSocket support" version="${spring53.version}">
+ <bundle dependency="true">mvn:javax.websocket/javax.websocket-api/1.1</bundle>
+ <feature version="[${spring53.version},5.4)">spring-web</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-websocket/${spring53.version}</bundle>
+ </feature>
+
+ <!-- Spring 6.0.x support -->
+
+ <feature name="spring" description="Spring 6.0.x support" version="${spring60.version}">
+ <bundle dependency="true" start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/${aopalliance.bundle.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/${spring60.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/${spring60.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/${spring60.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/${spring60.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/${spring60.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context-support/${spring60.version}</bundle>
+ </feature>
+
+ <feature name="spring-aspects" description="Spring 6.0.x AOP support" version="${spring60.version}">
+ <feature version="[${spring60.version},6.1)">spring</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aspects/${spring60.version}</bundle>
+ </feature>
+
+ <feature name="spring-instrument" description="Spring 6.0.x Instrument support" version="${spring60.version}">
+ <feature version="[${spring60.version},6.1)">spring</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-instrument/${spring60.version}</bundle>
+ </feature>
+
+ <feature name="spring-jdbc" description="Spring 6.0.x JDBC support" version="${spring60.version}">
+ <feature version="[${spring60.version},6.1)">spring-tx</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jdbc/${spring60.version}</bundle>
+ </feature>
+
+ <feature name="spring-jms" description="Spring 6.0.x JMS support" version="${spring60.version}">
+ <feature version="[${spring60.version},6.1)">spring-tx</feature>
+ <bundle dependency="true">mvn:jakarta.jms/jakarta.jms-api/3.1.0</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jms/${spring60.version}</bundle>
+ </feature>
+
+ <feature name="spring-messaging" description="Spring 6.0.x Messaging support" version="${spring60.version}">
+ <feature version="[${spring60.version},6.1)">spring</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-messaging/${spring60.version}</bundle>
+ </feature>
+
+ <!-- Waiting https://issues.apache.org/jira/browse/SM-5703 fix
+ <feature name="spring-test" description="Spring 6.0.x Test support" version="${spring60.version}">
+ <feature version="[${spring60.version},6.1)">spring</feature>
+ <bundle dependency="true">mvn:javax.websocket/javax.websocket-api/1.1</bundle>
+ <bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/4.4.6</bundle>
+ <bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/4.5.2</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-test/${spring60.version}</bundle>
+ </feature>
+ -->
+
+ <feature name="spring-orm" description="Spring 6.0.x ORM support" version="${spring60.version}">
+ <feature version="[${spring60.version},6.1)">spring-jdbc</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-orm/${spring60.version}</bundle>
+ </feature>
+
+ <!-- Waiting https://issues.apache.org/jira/browse/SM-5703 fix
+ <feature name="spring-oxm" description="Spring 6.0.x OXM support" version="${spring60.version}">
+ <feature version="[${spring60.version},6.1)">spring</feature>
+ <bundle dependency="true">mvn:jakarta.xml.bind/jakarta.xml.bind-api/4.0.0</bundle>
+ <bundle start-level="30">wrap:mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-oxm/${spring60.version}</bundle>
+ </feature>
+ -->
+
+ <feature name="spring-tx" description="Spring 6.0.x Transaction (TX) support" version="${spring60.version}">
+ <feature version="[${spring60.version},6.1)">spring</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/${spring60.version}</bundle>
+ </feature>
+
+ <feature name="spring-web" description="Spring 6.0.x Web support" version="${spring60.version}">
+ <feature version="[${spring60.version},6.1)">spring</feature>
+ <bundle dependency="true">mvn:jakarta.servlet/jakarta.servlet-api/5.0.0</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web/${spring60.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-webmvc/${spring60.version}</bundle>
+ </feature>
+
+ <feature name="spring-websocket" description="Spring 6.0.x WebSocket support" version="${spring60.version}">
+ <bundle dependency="true">mvn:javax.websocket/javax.websocket-api/1.1</bundle>
+ <feature version="[${spring60.version},6.1)">spring-web</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-websocket/${spring60.version}</bundle>
+ </feature>
+
<!-- Spring Security support -->
<feature name="spring-security" description="Spring Security 3.1.x support" version="${spring.security31.version}">
@@ -310,9 +464,9 @@
<feature name="spring-security" description="Spring Security 5.3.x support" version="${spring.security53.version}">
<feature>pax-web-jsp</feature>
<feature>pax-web-war</feature>
- <feature version="[5.1,6)">spring-jdbc</feature>
- <feature version="[5.1,6)">spring-tx</feature>
- <feature version="[5.1,6)">spring-web</feature>
+ <feature version="[5.2,5.3)">spring-jdbc</feature>
+ <feature version="[5.2,5.3)">spring-tx</feature>
+ <feature version="[5.2,5.3)">spring-web</feature>
<bundle dependency="true">mvn:javax.annotation/javax.annotation-api/1.3</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
@@ -328,9 +482,9 @@
<feature name="spring-security" description="Spring Security 5.4.x support" version="${spring.security54.version}">
<feature>pax-web-jsp</feature>
<feature>pax-web-war</feature>
- <feature version="[5.2,6)">spring-jdbc</feature>
- <feature version="[5.2,6)">spring-tx</feature>
- <feature version="[5.2,6)">spring-web</feature>
+ <feature version="[5.2,5.3)">spring-jdbc</feature>
+ <feature version="[5.2,5.3)">spring-tx</feature>
+ <feature version="[5.2,5.3)">spring-web</feature>
<bundle dependency="true">mvn:javax.annotation/javax.annotation-api/1.3</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
@@ -346,9 +500,9 @@
<feature name="spring-security" description="Spring Security 5.5.x support" version="${spring.security55.version}">
<feature>pax-web-jsp</feature>
<feature>pax-web-war</feature>
- <feature version="[5.2,6)">spring-jdbc</feature>
- <feature version="[5.2,6)">spring-tx</feature>
- <feature version="[5.2,6)">spring-web</feature>
+ <feature version="[5.3,5.4)">spring-jdbc</feature>
+ <feature version="[5.3,5.4)">spring-tx</feature>
+ <feature version="[5.3,5.4)">spring-web</feature>
<bundle dependency="true">mvn:javax.annotation/javax.annotation-api/${javax.annotation.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
@@ -361,4 +515,40 @@
<bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-taglibs/${spring.security55.version}</bundle>
</feature>
+ <feature name="spring-security" description="Spring Security 5.6.x support" version="${spring.security56.version}">
+ <feature>pax-web-jsp</feature>
+ <feature>pax-web-war</feature>
+ <feature version="[5.3,5.4)">spring-jdbc</feature>
+ <feature version="[5.3,5.4)">spring-tx</feature>
+ <feature version="[5.3,5.4)">spring-web</feature>
+ <bundle dependency="true">mvn:javax.annotation/javax.annotation-api/${javax.annotation.version}</bundle>
+ <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
+ <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
+ <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
+ <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aspectj/${aspectj.bundle.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-core/${spring.security56.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-config/${spring.security56.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-web/${spring.security56.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-acl/${spring.security56.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-taglibs/${spring.security56.version}</bundle>
+ </feature>
+
+ <feature name="spring-security" description="Spring Security 5.7.x support" version="${spring.security57.version}">
+ <feature>pax-web-jsp</feature>
+ <feature>pax-web-war</feature>
+ <feature version="[5.3,5.4)">spring-jdbc</feature>
+ <feature version="[5.3,5.4)">spring-tx</feature>
+ <feature version="[5.3,5.4)">spring-web</feature>
+ <bundle dependency="true">mvn:javax.annotation/javax.annotation-api/${javax.annotation.version}</bundle>
+ <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
+ <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
+ <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
+ <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aspectj/${aspectj.bundle.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-core/${spring.security57.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-config/${spring.security57.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-web/${spring.security57.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-acl/${spring.security57.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-taglibs/${spring.security57.version}</bundle>
+ </feature>
+
</features>
diff --git a/assemblies/features/spring/pom.xml b/assemblies/features/spring/pom.xml
index 223ab28..b5abe0e 100644
--- a/assemblies/features/spring/pom.xml
+++ b/assemblies/features/spring/pom.xml
@@ -158,7 +158,7 @@
<descriptor>file:${project.build.directory}/feature/feature.xml</descriptor>
</descriptors>
<distribution>org.apache.karaf.features:framework</distribution>
- <javase>1.8</javase>
+ <javase>17</javase>
<framework>
<feature>framework</feature>
</framework>
diff --git a/assemblies/features/spring/src/main/feature/feature.xml b/assemblies/features/spring/src/main/feature/feature.xml
index 43d00e9..555750c 100644
--- a/assemblies/features/spring/src/main/feature/feature.xml
+++ b/assemblies/features/spring/src/main/feature/feature.xml
@@ -22,117 +22,109 @@
<repository>mvn:org.apache.karaf.features/standard/${project.version}/xml/features</repository>
- <!-- Spring 5.3.x support -->
+ <!-- Spring 6.1.x support -->
- <feature name="spring" description="Spring 5.3.x support" version="${spring53.version}">
+ <feature name="spring" description="Spring 6.1.x support" version="${spring61.version}">
<bundle dependency="true" start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/${aopalliance.bundle.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/${spring53.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/${spring53.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/${spring53.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/${spring53.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/${spring53.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context-support/${spring53.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/${spring61.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/${spring61.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/${spring61.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/${spring61.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/${spring61.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context-support/${spring61.version}</bundle>
</feature>
- <feature name="spring-aspects" description="Spring 5.3.x AOP support" version="${spring53.version}">
- <feature version="[${spring53.version},5.4)">spring</feature>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aspects/${spring53.version}</bundle>
+ <feature name="spring-aspects" description="Spring 6.1.x AOP support" version="${spring61.version}">
+ <feature version="[${spring61.version},6.2)">spring</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aspects/${spring61.version}</bundle>
</feature>
- <feature name="spring-instrument" description="Spring 5.3.x Instrument support" version="${spring53.version}">
- <feature version="[${spring53.version},5.4)">spring</feature>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-instrument/${spring53.version}</bundle>
+ <feature name="spring-instrument" description="Spring 6.1.x Instrument support" version="${spring61.version}">
+ <feature version="[${spring61.version},6.2)">spring</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-instrument/${spring61.version}</bundle>
</feature>
- <feature name="spring-jdbc" description="Spring 5.3.x JDBC support" version="${spring53.version}">
- <feature version="[${spring53.version},5.4)">spring-tx</feature>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jdbc/${spring53.version}</bundle>
+ <feature name="spring-jdbc" description="Spring 6.1.x JDBC support" version="${spring61.version}">
+ <feature version="[${spring61.version},6.2)">spring-tx</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jdbc/${spring61.version}</bundle>
</feature>
- <feature name="spring-jms" description="Spring 5.3.x JMS support" version="${spring53.version}">
- <feature version="[${spring53.version},5.4)">spring-tx</feature>
- <bundle dependency="true" start-level="10">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo.jta-spec.version}</bundle>
- <bundle dependency="true" start-level="10">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo.jms-spec.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jms/${spring53.version}</bundle>
+ <feature name="spring-jms" description="Spring 6.1.x JMS support" version="${spring61.version}">
+ <feature version="[${spring61.version},6.2)">spring-tx</feature>
+ <bundle dependency="true">mvn:jakarta.jms/jakarta.jms-api/3.1.0</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jms/${spring61.version}</bundle>
</feature>
- <feature name="spring-messaging" description="Spring 5.3.x Messaging support" version="${spring53.version}">
- <feature version="[${spring53.version},5.4)">spring</feature>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-messaging/${spring53.version}</bundle>
+ <feature name="spring-messaging" description="Spring 6.1.x Messaging support" version="${spring61.version}">
+ <feature version="[${spring61.version},6.2)">spring</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-messaging/${spring61.version}</bundle>
</feature>
- <feature name="spring-test" description="Spring 5.3.x Test support" version="${spring53.version}">
- <feature version="[${spring53.version},5.4)">spring</feature>
+ <!-- Waiting https://issues.apache.org/jira/browse/SM-5703 fix
+ <feature name="spring-test" description="Spring 6.1.x Test support" version="${spring61.version}">
+ <feature version="[${spring61.version},6.2)">spring</feature>
<bundle dependency="true">mvn:javax.websocket/javax.websocket-api/1.1</bundle>
<bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/4.4.6</bundle>
<bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/4.5.2</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-test/${spring53.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-test/${spring61.version}</bundle>
+ </feature>
+ -->
+
+ <feature name="spring-orm" description="Spring 6.1.x ORM support" version="${spring61.version}">
+ <feature version="[${spring61.version},6.2)">spring-jdbc</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-orm/${spring61.version}</bundle>
</feature>
- <feature name="spring-orm" description="Spring 5.3.x ORM support" version="${spring53.version}">
- <feature version="[${spring53.version},5.4)">spring-jdbc</feature>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-orm/${spring53.version}</bundle>
+ <!-- Waiting https://issues.apache.org/jira/browse/SM-5703 fix
+ <feature name="spring-oxm" description="Spring 6.1.x OXM support" version="${spring61.version}">
+ <feature version="[${spring61.version},6.2)">spring</feature>
+ <bundle dependency="true">mvn:jakarta.xml.bind/jakarta.xml.bind-api/4.0.0</bundle>
+ <bundle start-level="30">wrap:mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-oxm/${spring61.version}</bundle>
+ </feature>
+ -->
+
+ <feature name="spring-tx" description="Spring 6.1.x Transaction (TX) support" version="${spring61.version}">
+ <feature version="[${spring61.version},6.2)">spring</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/${spring61.version}</bundle>
</feature>
- <feature name="spring-oxm" description="Spring 5.3.x OXM support" version="${spring53.version}">
- <feature version="[${spring53.version},5.4)">spring</feature>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-oxm/${spring53.version}</bundle>
+ <feature name="spring-web" description="Spring 6.1.x Web support" version="${spring61.version}">
+ <feature version="[${spring61.version},6.2)">spring</feature>
+ <bundle dependency="true">mvn:jakarta.servlet/jakarta.servlet-api/5.0.0</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web/${spring61.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-webmvc/${spring61.version}</bundle>
</feature>
- <feature name="spring-tx" description="Spring 5.3.x Transaction (TX) support" version="${spring53.version}">
- <feature version="[${spring53.version},5.4)">spring</feature>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/${spring53.version}</bundle>
- </feature>
-
- <feature name="spring-web" description="Spring 5.3.x Web support" version="${spring53.version}">
- <feature version="[${spring53.version},5.4)">spring</feature>
- <bundle dependency="true">mvn:javax.servlet/javax.servlet-api/3.1.0</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web/${spring53.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-webmvc/${spring53.version}</bundle>
- </feature>
-
- <feature name="spring-websocket" description="Spring 5.3.x WebSocket support" version="${spring53.version}">
+ <feature name="spring-websocket" description="Spring 6.1.x WebSocket support" version="${spring61.version}">
<bundle dependency="true">mvn:javax.websocket/javax.websocket-api/1.1</bundle>
- <feature version="[${spring53.version},5.4)">spring-web</feature>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-websocket/${spring53.version}</bundle>
+ <feature version="[${spring61.version},6.2)">spring-web</feature>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-websocket/${spring61.version}</bundle>
</feature>
<!-- Spring Security -->
- <feature name="spring-security" description="Spring Security 5.6.x support" version="${spring.security56.version}">
+ <feature name="spring-security" description="Spring Security 6.2.x support" version="${spring.security62.version}">
<feature>pax-web-jsp</feature>
<feature>pax-web-war</feature>
- <feature version="[5.2,6)">spring-jdbc</feature>
- <feature version="[5.2,6)">spring-tx</feature>
- <feature version="[5.2,6)">spring-web</feature>
- <bundle dependency="true">mvn:javax.annotation/javax.annotation-api/${javax.annotation.version}</bundle>
- <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
- <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
- <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
- <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aspectj/${aspectj.bundle.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-core/${spring.security56.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-config/${spring.security56.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-web/${spring.security56.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-acl/${spring.security56.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-taglibs/${spring.security56.version}</bundle>
- </feature>
-
- <feature name="spring-security" description="Spring Security 5.7.x support" version="${spring.security57.version}">
- <feature>pax-web-jsp</feature>
- <feature>pax-web-war</feature>
- <feature version="[5.2,6)">spring-jdbc</feature>
- <feature version="[5.2,6)">spring-tx</feature>
- <feature version="[5.2,6)">spring-web</feature>
+ <feature version="[6.1,6.2)">spring-jdbc</feature>
+ <feature version="[6.1,6.2)">spring-tx</feature>
+ <feature version="[6.1,6.2)">spring-web</feature>
<bundle dependency="true">mvn:javax.annotation/javax.annotation-api/${javax.annotation.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
+ <bundle dependency="true">mvn:io.micrometer/micrometer-commons/1.12.4</bundle>
+ <bundle dependency="true">mvn:io.micrometer/micrometer-observation/1.12.4</bundle>
+ <bundle dependency="true">mvn:jakarta.annotation/jakarta.annotation-api/2.1.1</bundle>
+ <bundle dependency="true">mvn:jakarta.servlet/jakarta.servlet-api/6.0.0</bundle>
+ <bundle dependency="true">mvn:jakarta.servlet.jsp/jakarta.servlet.jsp-api/3.1.1</bundle>
+ <bundle dependency="true">mvn:jakarta.el/jakarta.el-api/5.0.1</bundle>
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aspectj/${aspectj.bundle.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-core/${spring.security57.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-config/${spring.security57.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-web/${spring.security57.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-acl/${spring.security57.version}</bundle>
- <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-taglibs/${spring.security57.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-core/${spring.security62.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-config/${spring.security62.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-web/${spring.security62.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-acl/${spring.security62.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-taglibs/${spring.security62.version}</bundle>
</feature>
<!-- Aries Blueprint Spring support -->
diff --git a/itests/test/pom.xml b/itests/test/pom.xml
index c2bd2cf..f8c9526 100644
--- a/itests/test/pom.xml
+++ b/itests/test/pom.xml
@@ -317,6 +317,8 @@
<spring43.version>${spring43.version}</spring43.version>
<spring52.version>${spring52.version}</spring52.version>
<spring53.version>${spring53.version}</spring53.version>
+ <spring60.version>${spring60.version}</spring60.version>
+ <spring61.version>${spring61.version}</spring61.version>
<spring.security31.version>${spring.security31.version}</spring.security31.version>
<spring.security42.version>${spring.security42.version}</spring.security42.version>
<spring.security53.version>${spring.security53.version}</spring.security53.version>
@@ -324,6 +326,7 @@
<spring.security55.version>${spring.security55.version}</spring.security55.version>
<spring.security56.version>${spring.security56.version}</spring.security56.version>
<spring.security57.version>${spring.security57.version}</spring.security57.version>
+ <spring.security62.version>${spring.security62.version}</spring.security62.version>
<activemq.version>${activemq.version}</activemq.version>
<karaf.version>${project.version}</karaf.version>
<pax.exam.configuration>file:src/test/resources/controlled-exam.properties</pax.exam.configuration>
@@ -381,6 +384,8 @@
<spring43.version>${spring43.version}</spring43.version>
<spring52.version>${spring52.version}</spring52.version>
<spring53.version>${spring53.version}</spring53.version>
+ <spring60.version>${spring60.version}</spring60.version>
+ <spring61.version>${spring61.version}</spring61.version>
<spring.security31.version>${spring.security31.version}</spring.security31.version>
<spring.security42.version>${spring.security42.version}</spring.security42.version>
<spring.security53.version>${spring.security53.version}</spring.security53.version>
@@ -388,6 +393,7 @@
<spring.security55.version>${spring.security55.version}</spring.security55.version>
<spring.security56.version>${spring.security56.version}</spring.security56.version>
<spring.security57.version>${spring.security57.version}</spring.security57.version>
+ <spring.security62.version>${spring.security62.version}</spring.security62.version>
<activemq.version>${activemq.version}</activemq.version>
</systemPropertyVariables>
</configuration>
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/BaseTest.java b/itests/test/src/test/java/org/apache/karaf/itests/BaseTest.java
index bae3891..fde688f 100644
--- a/itests/test/src/test/java/org/apache/karaf/itests/BaseTest.java
+++ b/itests/test/src/test/java/org/apache/karaf/itests/BaseTest.java
@@ -29,6 +29,8 @@
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "spring43.version", System.getProperty("spring43.version")),
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "spring52.version", System.getProperty("spring52.version")),
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "spring53.version", System.getProperty("spring53.version")),
+ KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "spring60.version", System.getProperty("spring60.version")),
+ KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "spring61.version", System.getProperty("spring61.version")),
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "spring.security31.version", System.getProperty("spring.security31.version")),
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "spring.security42.version", System.getProperty("spring.security42.version")),
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "spring.security53.version", System.getProperty("spring.security53.version")),
@@ -36,6 +38,7 @@
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "spring.security55.version", System.getProperty("spring.security55.version")),
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "spring.security56.version", System.getProperty("spring.security56.version")),
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "spring.security57.version", System.getProperty("spring.security57.version")),
+ KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "spring.security62.version", System.getProperty("spring.security62.version")),
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "activemq.version", System.getProperty("activemq.version"))
};
return Stream.of(super.config(), options).flatMap(Stream::of).toArray(Option[]::new);
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java
index 2d1c4f2..866f932 100644
--- a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java
+++ b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java
@@ -16,14 +16,36 @@
import org.apache.karaf.itests.BaseTest;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.Configuration;
+import org.ops4j.pax.exam.MavenUtils;
+import org.ops4j.pax.exam.Option;
import org.ops4j.pax.exam.junit.PaxExam;
import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
import org.ops4j.pax.exam.spi.reactors.PerClass;
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut;
+
@RunWith(PaxExam.class)
@ExamReactorStrategy(PerClass.class)
public class Spring53FeaturesTest extends BaseTest {
+ @Configuration
+ public Option[] config() {
+ String version = MavenUtils.getArtifactVersion("org.apache.karaf", "apache-karaf");
+ List<Option> result = new LinkedList<>(Arrays.asList(super.config()));
+ result.add(editConfigurationFilePut("etc/org.apache.karaf.features.cfg", "featuresRepositories",
+ "mvn:org.apache.karaf.features/framework/" + version + "/xml/features, " +
+ "mvn:org.apache.karaf.features/spring/" + version + "/xml/features, " +
+ "mvn:org.apache.karaf.features/spring-legacy/" + version + "/xml/features, " +
+ "mvn:org.apache.karaf.features/enterprise/" + version + "/xml/features, " +
+ "mvn:org.apache.karaf.features/standard/" + version + "/xml/features"));
+ return result.toArray(new Option[result.size()]);
+ }
+
@Test
public void installSpringFeature() throws Exception {
installAssertAndUninstallFeature("spring", System.getProperty("spring53.version"));
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring60FeaturesTest.java b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring60FeaturesTest.java
new file mode 100644
index 0000000..813c44d
--- /dev/null
+++ b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring60FeaturesTest.java
@@ -0,0 +1,103 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.karaf.itests.features;
+
+import org.apache.karaf.itests.BaseTest;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.Configuration;
+import org.ops4j.pax.exam.MavenUtils;
+import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.junit.PaxExam;
+import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
+import org.ops4j.pax.exam.spi.reactors.PerClass;
+
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut;
+
+@RunWith(PaxExam.class)
+@ExamReactorStrategy(PerClass.class)
+@Ignore("Spring 6.x needs Java17, Jenkins is still using Java11 for test for now")
+public class Spring60FeaturesTest extends BaseTest {
+
+ @Configuration
+ public Option[] config() {
+ String version = MavenUtils.getArtifactVersion("org.apache.karaf", "apache-karaf");
+ List<Option> result = new LinkedList<>(Arrays.asList(super.config()));
+ result.add(editConfigurationFilePut("etc/org.apache.karaf.features.cfg", "featuresRepositories",
+ "mvn:org.apache.karaf.features/framework/" + version + "/xml/features, " +
+ "mvn:org.apache.karaf.features/spring/" + version + "/xml/features, " +
+ "mvn:org.apache.karaf.features/spring-legacy/" + version + "/xml/features, " +
+ "mvn:org.apache.karaf.features/enterprise/" + version + "/xml/features, " +
+ "mvn:org.apache.karaf.features/standard/" + version + "/xml/features"));
+ return result.toArray(new Option[result.size()]);
+ }
+
+ @Test
+ public void installSpringFeature() throws Exception {
+ installAssertAndUninstallFeature("spring", System.getProperty("spring60.version"));
+ }
+
+ @Test
+ public void installSpringAspectsFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-aspects", System.getProperty("spring60.version"));
+ }
+
+ @Test
+ public void installSpringInstrumentFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-instrument", System.getProperty("spring60.version"));
+ }
+
+ @Test
+ public void installSpringJdbcFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-jdbc", System.getProperty("spring60.version"));
+ }
+
+ @Test
+ public void installSpringJmsFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-jms", System.getProperty("spring60.version"));
+ }
+
+ @Test
+ public void installSpringMessagingFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-messaging", System.getProperty("spring60.version"));
+ }
+
+ @Test
+ @Ignore("Waiting https://issues.apache.org/jira/browse/SM-5703 fix")
+ public void installSpringTestFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-test", System.getProperty("spring60.version"));
+ }
+
+ @Test
+ public void installSpringOrmFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-orm", System.getProperty("spring60.version"));
+ }
+
+ @Test
+ @Ignore("Waiting https://issues.apache.org/jira/browse/SM-5703 fix")
+ public void installSpringOxmFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-oxm", System.getProperty("spring60.version"));
+ }
+
+ @Test
+ public void installSpringTxFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-tx", System.getProperty("spring60.version"));
+ }
+
+}
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring61FeaturesTest.java b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring61FeaturesTest.java
new file mode 100644
index 0000000..972716c
--- /dev/null
+++ b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring61FeaturesTest.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.karaf.itests.features;
+
+import org.apache.karaf.itests.BaseTest;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.junit.PaxExam;
+import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
+import org.ops4j.pax.exam.spi.reactors.PerClass;
+
+@RunWith(PaxExam.class)
+@ExamReactorStrategy(PerClass.class)
+@Ignore("Spring 6.x needs Java17, Jenkins is still using Java11 for test for now")
+public class Spring61FeaturesTest extends BaseTest {
+
+ @Test
+ public void installSpringFeature() throws Exception {
+ installAssertAndUninstallFeature("spring", System.getProperty("spring61.version"));
+ }
+
+ @Test
+ public void installSpringAspectsFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-aspects", System.getProperty("spring61.version"));
+ }
+
+ @Test
+ public void installSpringInstrumentFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-instrument", System.getProperty("spring61.version"));
+ }
+
+ @Test
+ public void installSpringJdbcFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-jdbc", System.getProperty("spring61.version"));
+ }
+
+ @Test
+ public void installSpringJmsFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-jms", System.getProperty("spring61.version"));
+ }
+
+ @Test
+ public void installSpringMessagingFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-messaging", System.getProperty("spring61.version"));
+ }
+
+ @Test
+ @Ignore("Waiting https://issues.apache.org/jira/browse/SM-5703 fix")
+ public void installSpringTestFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-test", System.getProperty("spring61.version"));
+ }
+
+ @Test
+ public void installSpringOrmFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-orm", System.getProperty("spring61.version"));
+ }
+
+ @Test
+ @Ignore("Waiting https://issues.apache.org/jira/browse/SM-5703 fix")
+ public void installSpringOxmFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-oxm", System.getProperty("spring61.version"));
+ }
+
+ @Test
+ public void installSpringTxFeature() throws Exception {
+ installAssertAndUninstallFeature("spring-tx", System.getProperty("spring61.version"));
+ }
+
+}
diff --git a/pom.xml b/pom.xml
index cad9a78..bad5136 100644
--- a/pom.xml
+++ b/pom.xml
@@ -337,6 +337,8 @@
<spring43.version>4.3.30.RELEASE_1</spring43.version>
<spring52.version>5.2.25.RELEASE_1</spring52.version>
<spring53.version>5.3.33_1</spring53.version>
+ <spring60.version>6.0.18_1</spring60.version>
+ <spring61.version>6.1.5_1</spring61.version>
<spring.security31.version>3.1.4.RELEASE</spring.security31.version>
<spring.security42.version>4.2.4.RELEASE_1</spring.security42.version>
<spring.security51.version>5.1.6.RELEASE_1</spring.security51.version>
@@ -345,6 +347,7 @@
<spring.security55.version>5.5.3_1</spring.security55.version>
<spring.security56.version>5.6.3_1</spring.security56.version>
<spring.security57.version>5.7.12_1</spring.security57.version>
+ <spring.security62.version>6.2.1_1</spring.security62.version>
<sling.commons.johnzon.version>1.2.16</sling.commons.johnzon.version>
<sshd.version>2.12.1</sshd.version>