Repository: karaf
Updated Branches:
  refs/heads/master bbe54b867 -> e8e985a1c


Fix Jaas integration test


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/e8e985a1
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/e8e985a1
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/e8e985a1

Branch: refs/heads/master
Commit: e8e985a1cf885c80c94d39f42d3c56e25e81476d
Parents: bbe54b8
Author: Guillaume Nodet <[email protected]>
Authored: Tue Jul 22 18:13:41 2014 +0200
Committer: Guillaume Nodet <[email protected]>
Committed: Tue Jul 22 18:14:06 2014 +0200

----------------------------------------------------------------------
 assemblies/features/standard/pom.xml              |  2 ++
 .../java/org/apache/karaf/itests/JaasTest.java    |  2 +-
 .../tooling/features/ValidateDescriptorMojo.java  | 18 ++++++++++++++++--
 3 files changed, 19 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/e8e985a1/assemblies/features/standard/pom.xml
----------------------------------------------------------------------
diff --git a/assemblies/features/standard/pom.xml 
b/assemblies/features/standard/pom.xml
index 0474f4d..8edbe22 100644
--- a/assemblies/features/standard/pom.xml
+++ b/assemblies/features/standard/pom.xml
@@ -444,9 +444,11 @@
                         <phase>compile</phase>
                         <goals>
                             <goal>features-generate-descriptor</goal>
+                            <goal>features-validate-descriptor</goal>
                         </goals>
                         <configuration>
                             
<addBundlesToPrimaryFeature>false</addBundlesToPrimaryFeature>
+                            
<file>${project.build.directory}/feature/feature.xml</file>
                         </configuration>
                     </execution>
                 </executions>

http://git-wip-us.apache.org/repos/asf/karaf/blob/e8e985a1/itests/src/test/java/org/apache/karaf/itests/JaasTest.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/JaasTest.java 
b/itests/src/test/java/org/apache/karaf/itests/JaasTest.java
index 27d3299..a329899 100644
--- a/itests/src/test/java/org/apache/karaf/itests/JaasTest.java
+++ b/itests/src/test/java/org/apache/karaf/itests/JaasTest.java
@@ -63,7 +63,7 @@ public class JaasTest extends KarafTestSupport {
         for (int i=0; i<10; i++) {
             doLogin();
         }
-        assertEquals(3, 
bundleContext.getServiceReferences(ArtifactInstaller.class.getName(), 
null).length);
+        assertEquals(2, 
bundleContext.getServiceReferences(ArtifactInstaller.class.getName(), 
null).length);
     }
 
     private void doLogin() throws Exception {

http://git-wip-us.apache.org/repos/asf/karaf/blob/e8e985a1/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/ValidateDescriptorMojo.java
----------------------------------------------------------------------
diff --git 
a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/ValidateDescriptorMojo.java
 
b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/ValidateDescriptorMojo.java
index 8263454..dff75e1 100644
--- 
a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/ValidateDescriptorMojo.java
+++ 
b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/ValidateDescriptorMojo.java
@@ -19,6 +19,7 @@ package org.apache.karaf.tooling.features;
 
 import aQute.bnd.header.OSGiHeader;
 import org.apache.felix.utils.manifest.Clause;
+import org.apache.felix.utils.version.VersionTable;
 import org.apache.karaf.features.BundleInfo;
 import org.apache.karaf.features.Dependency;
 import org.apache.karaf.features.Feature;
@@ -40,6 +41,7 @@ import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.shared.dependency.tree.DependencyNode;
 import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
 import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor;
+import org.osgi.framework.Version;
 
 import java.io.*;
 import java.net.URI;
@@ -657,11 +659,23 @@ public class ValidateDescriptorMojo extends MojoSupport {
         }
 
         public Feature get(String name, String version) throws Exception {
+            Feature best = null;
             for (Feature feature : features) {
-                if (name.equals(feature.getName()) && 
version.equals(feature.getVersion())) {
-                    return feature;
+                if (name.equals(feature.getName())) {
+                    if (best == null) {
+                        best = feature;
+                    } else {
+                        Version v1 = 
VersionTable.getVersion(feature.getVersion());
+                        Version v2 = 
VersionTable.getVersion(best.getVersion());
+                        if (v1.compareTo(v2) > 0) {
+                            best = feature;
+                        }
+                    }
                 }
             }
+            if (best != null) {
+                return best;
+            }
             throw new Exception(String.format("Unable to find definition for 
feature %s (version %s)",
                     name, version));
         }

Reply via email to