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());