This is an automated email from the ASF dual-hosted git repository.

fpapon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shiro.git


The following commit(s) were added to refs/heads/master by this push:
     new 6a57e68  [SHIRO-652] Upgrade Shiro Feature to Karaf 4.x
     new d173006  Merge pull request #88 from fpapon/SHIRO-652
6a57e68 is described below

commit 6a57e687152bd6a15b890ac53c573c8eee26f05c
Author: Francois Papon <[email protected]>
AuthorDate: Mon Oct 15 19:03:19 2018 +0400

    [SHIRO-652] Upgrade Shiro Feature to Karaf 4.x
---
 core/pom.xml                                     |  1 +
 pom.xml                                          |  5 ++-
 support/cas/pom.xml                              |  2 +-
 support/features/pom.xml                         | 42 ++++++++++++++++++++++++
 support/features/src/main/resources/features.xml | 38 ++++++++++-----------
 support/pom.xml                                  |  2 +-
 6 files changed, 68 insertions(+), 22 deletions(-)

diff --git a/core/pom.xml b/core/pom.xml
index 6761d26..412e191 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -56,6 +56,7 @@
                         <Import-Package>
                             
org.apache.shiro*;version="${shiro.osgi.importRange}",
                             org.apache.commons.beanutils*;resolution:=optional,
+                            
org.apache.commons.configuration2*;resolution:=optional,
                             *
                         </Import-Package>
                     </instructions>
diff --git a/pom.xml b/pom.xml
index 56a1d02..587c827 100644
--- a/pom.xml
+++ b/pom.xml
@@ -76,8 +76,11 @@
         <!-- Don't change this version without also changing the shiro-aspect 
and shiro-features
              modules' OSGi metadata: -->
         <aspectj.version>1.8.9</aspectj.version>
+        <cas.client.core.version>3.2.2</cas.client.core.version>
         <commons.cli.version>1.3.1</commons.cli.version>
         <commons.codec.version>1.10</commons.codec.version>
+        <commons.configuration2.version>2.2</commons.configuration2.version>
+        <commons.lang3.version>3.3.2</commons.lang3.version>
         <crowd.version>1.5.2</crowd.version>
         <!-- Don't change this version without also changing the shiro-ehcache 
and shiro-features
              modules' OSGi metadata: -->
@@ -791,7 +794,7 @@
                 <!-- optional dep for the reflection builder -->
                 <groupId>org.apache.commons</groupId>
                 <artifactId>commons-configuration2</artifactId>
-                <version>2.2</version>
+                <version>${commons.configuration2.version}</version>
                 <exclusions>
                     <exclusion>
                         <groupId>commons-logging</groupId>
diff --git a/support/cas/pom.xml b/support/cas/pom.xml
index c2167e5..0d91d62 100644
--- a/support/cas/pom.xml
+++ b/support/cas/pom.xml
@@ -39,7 +39,7 @@
         <dependency>
             <groupId>org.jasig.cas.client</groupId>
             <artifactId>cas-client-core</artifactId>
-            <version>3.2.2</version>
+            <version>${cas.client.core.version}</version>
         </dependency>
         <dependency>
             <!-- for Optional SAML ticket validation: -->
diff --git a/support/features/pom.xml b/support/features/pom.xml
index bd509d7..72d6b2e 100644
--- a/support/features/pom.xml
+++ b/support/features/pom.xml
@@ -38,8 +38,20 @@
         <quartz.bundle.version>1.6.1_1</quartz.bundle.version>
         <!-- Not a Shiro dependency - used for quartz bundle resolution only 
(see features.xml): -->
         <commons.collections.version>3.2.1</commons.collections.version>
+        <!-- karaf plugin version -->
+        <karaf.version>4.2.4</karaf.version>
     </properties>
 
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.karaf.features</groupId>
+            <artifactId>framework</artifactId>
+            <version>${karaf.version}</version>
+            <type>kar</type>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
     <build>
         <resources>
             <resource>
@@ -93,6 +105,36 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-maven-plugin</artifactId>
+                <version>${karaf.version}</version>
+                <executions>
+                    <execution>
+                        <id>verify</id>
+                        <phase>process-resources</phase>
+                        <goals>
+                            <goal>verify</goal>
+                        </goals>
+                        <configuration>
+                            <descriptors>
+                                
<descriptor>mvn:org.apache.karaf.features/framework/${karaf.version}/xml/features</descriptor>
+                                
<descriptor>mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features</descriptor>
+                                
<descriptor>mvn:org.apache.karaf.features/spring-legacy/${karaf.version}/xml/features</descriptor>
+                                
<descriptor>file:${project.build.directory}/classes/features.xml</descriptor>
+                            </descriptors>
+                            
<distribution>org.apache.karaf.features:framework</distribution>
+                            <javase>1.8</javase>
+                            <framework>
+                                <feature>framework</feature>
+                            </framework>
+                            <features>
+                                <feature>shiro*</feature>
+                            </features>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
 
diff --git a/support/features/src/main/resources/features.xml 
b/support/features/src/main/resources/features.xml
index 5f9b3fb..767e338 100644
--- a/support/features/src/main/resources/features.xml
+++ b/support/features/src/main/resources/features.xml
@@ -17,52 +17,52 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<features name="shiro-${project.version}" 
xmlns="http://karaf.apache.org/xmlns/features/v1.0.0";>
+<features name="shiro-${project.version}" 
xmlns="http://karaf.apache.org/xmlns/features/v1.4.0";>
 
     <!-- Shiro core features: -->
 
-    <feature name="shiro-core" version="${project.version}" resolver="(obr)">
+    <feature name="shiro-core" version="${project.version}">
         <bundle>mvn:org.apache.shiro/shiro-core/${project.version}</bundle>
     </feature>
 
-    <feature name="shiro-web" version="${project.version}" resolver="(obr)">
+    <feature name="shiro-web" version="${project.version}">
         <feature version="${project.version}">shiro-core</feature>
-        <feature version="[2,4)">war</feature>
+        <feature version="[2,5)">war</feature>
         <bundle>mvn:org.apache.shiro/shiro-web/${project.version}</bundle>
     </feature>
 
     <!-- 3rd party support (alphabetized please): -->
 
-    <feature name="shiro-aspectj" version="${project.version}" 
resolver="(obr)">
+    <feature name="shiro-aspectj" version="${project.version}">
         <feature version="${project.version}">shiro-core</feature>
         <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aspectj/${aspectj.bundle.version}</bundle>
         <bundle>mvn:org.apache.shiro/shiro-aspectj/${project.version}</bundle>
     </feature>
 
-    <feature name="shiro-cas" version="${project.version}" resolver="(obr)">
-        <feature version="${project.version}">shiro-core</feature>
-        <!-- Is there a CAS client osgi bundle somewhere?
-        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aspectj/${casclient.bundle.version}</bundle>
-        -->
+    <feature name="shiro-cas" version="${project.version}">
+        <feature prerequisite='true'>wrap</feature>
+        <feature version="${project.version}">shiro-web</feature>
+        <bundle 
dependency='true'>wrap:mvn:org.jasig.cas.client/cas-client-core/${cas.client.core.version}$Export-Package=org.jasig*;version=${cas.client.core.version}</bundle>
         <bundle>mvn:org.apache.shiro/shiro-cas/${project.version}</bundle>
     </feature>
 
-    <feature name="shiro-ehcache" version="${project.version}" 
resolver="(obr)">
+    <feature name="shiro-ehcache" version="${project.version}">
         <feature version="${project.version}">shiro-core</feature>
         <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ehcache/${ehcache.bundle.version}</bundle>
         <bundle>mvn:org.apache.shiro/shiro-ehcache/${project.version}</bundle>
     </feature>
 
-    <feature name="shiro-hazelcast" version="${project.version}" 
resolver="(obr)">
+    <feature name="shiro-hazelcast" version="${project.version}">
         <feature version="${project.version}">shiro-core</feature>
-        <!-- Is there a Hazelcast osgi bundle somewhere? The following line 
just assumes it exists: -->
-        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.hazelcast/${hazelcast.bundle.version}</bundle>
+        
<bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
+        
<bundle>mvn:org.apache.geronimo.specs/geronimo-annotation_1.3_spec/1.1</bundle>
+        <bundle>mvn:com.hazelcast/hazelcast-all/${hazelcast.version}</bundle>
         
<bundle>mvn:org.apache.shiro/shiro-hazelcast/${project.version}</bundle>
     </feature>
 
     <!--
     TODO enable when openid4j module is done
-    <feature name="shiro-openid4j" version="${project.version}" 
resolver="(obr)">
+    <feature name="shiro-openid4j" version="${project.version}">
         <feature version="${project.version}">shiro-core</feature>
         <feature version="${project.version}">shiro-web</feature>
         <feature version="[3,4)">spring</feature>
@@ -72,16 +72,16 @@
     </feature>
     -->
 
-    <feature name="shiro-quartz" version="${project.version}" resolver="(obr)">
+    <feature name="shiro-quartz" version="${project.version}">
         <feature version="${project.version}">shiro-core</feature>
         <bundle 
dependency='true'>mvn:commons-collections/commons-collections/${commons.collections.version}</bundle>
         <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.quartz/${quartz.bundle.version}</bundle>
         <bundle>mvn:org.apache.shiro/shiro-quartz/${project.version}</bundle>
     </feature>
 
-    <feature name="shiro-spring" version="${project.version}" resolver="(obr)">
-        <feature version="${project.version}">shiro-core</feature>
-        <feature version="[3,4)">spring</feature>
+    <feature name="shiro-spring" version="${project.version}">
+        <feature version="${project.version}">shiro-web</feature>
+        <feature version="[4,5)">spring</feature>
         <bundle>mvn:org.apache.shiro/shiro-spring/${project.version}</bundle>
     </feature>
 
diff --git a/support/pom.xml b/support/pom.xml
index 564c599..624d669 100644
--- a/support/pom.xml
+++ b/support/pom.xml
@@ -38,11 +38,11 @@
         <module>quartz</module>
         <module>spring</module>
         <module>guice</module>
-        <module>features</module>
         <module>cas</module>
         <module>spring-boot</module>
         <module>servlet-plugin</module>
         <module>jaxrs</module>
+        <module>features</module>
     </modules>
 
 </project>

Reply via email to