You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2010/12/10 20:17:37 UTC

svn commit: r1044482 - /karaf/branches/karaf-2.1.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/MojoSupport.java

Author: gnodet
Date: Fri Dec 10 19:17:37 2010
New Revision: 1044482

URL: http://svn.apache.org/viewvc?rev=1044482&view=rev
Log:
[KARAF-244] features-maven-plugin does not work with maven 3

Modified:
    karaf/branches/karaf-2.1.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/MojoSupport.java

Modified: karaf/branches/karaf-2.1.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/MojoSupport.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.1.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/MojoSupport.java?rev=1044482&r1=1044481&r2=1044482&view=diff
==============================================================================
--- karaf/branches/karaf-2.1.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/MojoSupport.java (original)
+++ karaf/branches/karaf-2.1.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/MojoSupport.java Fri Dec 10 19:17:37 2010
@@ -333,9 +333,21 @@ public abstract class MojoSupport extend
     protected String getLocalRepoUrl() {
          if (System.getProperty("os.name").startsWith("Windows")) {
              String baseDir = localRepo.getBasedir().replace('\\', '/').replaceAll(" ", "%20");
-             return localRepo.getProtocol() + ":///" + baseDir;
+             return extractProtocolFromLocalMavenRepo()  + ":///" + baseDir;
          } else {
-                 return localRepo.getUrl();
+             return localRepo.getUrl();
          }
     }
+
+    /**
+     * Required because maven3 returns null in {@link ArtifactRepository#getProtocol()} (see KARAF-244)
+     */
+    private String extractProtocolFromLocalMavenRepo() {
+        try {
+            return new URL(localRepo.getUrl()).getProtocol();
+        } catch (MalformedURLException e) {
+            // Basically this should not happen; if though cancel the process
+            throw new RuntimeException("Repository URL is not valid", e);
+        }
+    }
 }