You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ff...@apache.org on 2010/04/21 11:55:11 UTC

svn commit: r936233 - in /felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features: AddFeaturesToRepoMojo.java MojoSupport.java ValidateFeaturesMojo.java

Author: ffang
Date: Wed Apr 21 09:55:11 2010
New Revision: 936233

URL: http://svn.apache.org/viewvc?rev=936233&view=rev
Log:
[FELIX-2293]features-maven-plugin validate should support specify the feature repositories from the maven plugin configure

Modified:
    felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/AddFeaturesToRepoMojo.java
    felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/MojoSupport.java
    felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/ValidateFeaturesMojo.java

Modified: felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/AddFeaturesToRepoMojo.java
URL: http://svn.apache.org/viewvc/felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/AddFeaturesToRepoMojo.java?rev=936233&r1=936232&r2=936233&view=diff
==============================================================================
--- felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/AddFeaturesToRepoMojo.java (original)
+++ felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/AddFeaturesToRepoMojo.java Wed Apr 21 09:55:11 2010
@@ -135,48 +135,6 @@ public class AddFeaturesToRepoMojo exten
         }
     }
 
-    private String translateFromMaven(String uri) {
-        if (uri.startsWith("mvn:")) {
-            String[] parts = uri.substring("mvn:".length()).split("/");
-            String groupId = parts[0];
-            String artifactId = parts[1];
-            String version = null;
-            String classifier = null;
-            String type = "jar";
-            if (parts.length > 2) {
-                version = parts[2];
-                if (parts.length > 3) {
-                    type = parts[3];
-                    if (parts.length > 4) {
-                        classifier = parts[4];
-                    }
-                }
-            }
-            String dir = groupId.replace('.', '/') + "/" + artifactId + "/" + version + "/";
-            String name = artifactId + "-" + version + (classifier != null ? "-" + classifier : "") + "." + type;
-
-            return getLocalRepoUrl() + "/" + dir + name;
-        }
-        if (System.getProperty("os.name").startsWith("Windows") && uri.startsWith("file:")) {
-        	String baseDir = uri.substring(5).replace('\\', '/').replaceAll(" ", "%20");
-        	String result = baseDir;
-        	if (baseDir.indexOf(":") > 0) {
-        		result = "file:///" + baseDir;
-        	}
-        	return result;
-        }
-        return uri;
-    }
-
-    private String getLocalRepoUrl() {
-    	 if (System.getProperty("os.name").startsWith("Windows")) {
-             String baseDir = localRepo.getBasedir().replace('\\', '/').replaceAll(" ", "%20");
-             return localRepo.getProtocol() + ":///" + baseDir;
-    	 } else {
-    		 return localRepo.getUrl();
-    	 }
-    }
-
     private void addFeatures(List<String> features, Set<String> transitiveFeatures, Map<String, Feature> featuresMap) {
         for (String feature : features) {
             Feature f = featuresMap.get(feature);

Modified: felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/MojoSupport.java
URL: http://svn.apache.org/viewvc/felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/MojoSupport.java?rev=936233&r1=936232&r2=936233&view=diff
==============================================================================
--- felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/MojoSupport.java (original)
+++ felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/MojoSupport.java Wed Apr 21 09:55:11 2010
@@ -296,4 +296,46 @@ public abstract class MojoSupport extend
                     "Error during setting up classpath", e);
         }
     }
+    
+    protected String translateFromMaven(String uri) {
+        if (uri.startsWith("mvn:")) {
+            String[] parts = uri.substring("mvn:".length()).split("/");
+            String groupId = parts[0];
+            String artifactId = parts[1];
+            String version = null;
+            String classifier = null;
+            String type = "jar";
+            if (parts.length > 2) {
+                version = parts[2];
+                if (parts.length > 3) {
+                    type = parts[3];
+                    if (parts.length > 4) {
+                        classifier = parts[4];
+                    }
+                }
+            }
+            String dir = groupId.replace('.', '/') + "/" + artifactId + "/" + version + "/";
+            String name = artifactId + "-" + version + (classifier != null ? "-" + classifier : "") + "." + type;
+
+            return getLocalRepoUrl() + "/" + dir + name;
+        }
+        if (System.getProperty("os.name").startsWith("Windows") && uri.startsWith("file:")) {
+                String baseDir = uri.substring(5).replace('\\', '/').replaceAll(" ", "%20");
+                String result = baseDir;
+                if (baseDir.indexOf(":") > 0) {
+                        result = "file:///" + baseDir;
+                }
+                return result;
+        }
+        return uri;
+    }
+
+    protected String getLocalRepoUrl() {
+         if (System.getProperty("os.name").startsWith("Windows")) {
+             String baseDir = localRepo.getBasedir().replace('\\', '/').replaceAll(" ", "%20");
+             return localRepo.getProtocol() + ":///" + baseDir;
+         } else {
+                 return localRepo.getUrl();
+         }
+    }
 }

Modified: felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/ValidateFeaturesMojo.java
URL: http://svn.apache.org/viewvc/felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/ValidateFeaturesMojo.java?rev=936233&r1=936232&r2=936233&view=diff
==============================================================================
--- felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/ValidateFeaturesMojo.java (original)
+++ felix/trunk/karaf/tooling/features-maven-plugin/src/main/java/org/apache/felix/karaf/tooling/features/ValidateFeaturesMojo.java Wed Apr 21 09:55:11 2010
@@ -85,7 +85,11 @@ public class ValidateFeaturesMojo extend
      */
     private String karafConfig;
 
-    
+    /**
+     *  The repositories which are included from the plugin config   
+     *  @parameter 
+     */
+     private List<String> repositories;   
     
     /*
      * A map to cache the mvn: uris and the artifacts that correspond with them
@@ -147,6 +151,15 @@ public class ValidateFeaturesMojo extend
         info(" - read %s", file.getAbsolutePath());
 
         features.add(repository.getFeatures());
+        
+        // add the repositories from the plugin configuration
+	for (String uri : repositories) {
+	    getLog().info(String.format(" - adding repository from %s", uri));
+            Repository dependency = new RepositoryImpl(URI.create(translateFromMaven(uri)));
+            features.add(dependency.getFeatures());
+            validateBundlesAvailable(dependency);
+            analyzeExports(dependency);
+        }
 
         for (URI uri : repository.getRepositories()) {
             Artifact artifact = resolve(uri.toString());