[java-sig-commits] [maven] Fix handling of fallback default_poms

Stanislav Ochotnicky sochotni at fedoraproject.org
Wed Jun 22 10:12:53 UTC 2011


commit 3b2966e851c33c587481ac7fd1a02493d77ded01
Author: Stanislav Ochotnicky <sochotnicky at redhat.com>
Date:   Wed Jun 22 11:56:09 2011 +0200

    Fix handling of fallback default_poms
    
    - Add empty-dep into maven package to not require maven2 version

 JavadirWorkspaceReader.java |   15 +++------------
 MavenJPackageDepmap.java    |   13 +++----------
 maven-empty-dep.jar         |  Bin 0 -> 341 bytes
 maven-empty-dep.pom         |    9 +++++++++
 maven.spec                  |   18 +++++++++++++++++-
 5 files changed, 32 insertions(+), 23 deletions(-)
---
diff --git a/JavadirWorkspaceReader.java b/JavadirWorkspaceReader.java
index b84974b..9fe54f1 100644
--- a/JavadirWorkspaceReader.java
+++ b/JavadirWorkspaceReader.java
@@ -84,25 +84,18 @@ public class JavadirWorkspaceReader implements WorkspaceReader {
     }
 
     private StringBuffer getPOMPath(String groupId, String artifactId) {
-
         String fName = groupId.replace(PATH_SEPARATOR, GROUP_SEPARATOR) + "-"
                 + artifactId + ".pom";
-        String m2path = System.getProperty("maven2.local.pom.path",
-                "JPP/maven2/poms") + "/" + fName;
-        String m3path = System.getProperty("maven.local.pom.path",
-                "JPP/maven/poms") + "/" + fName;
         File f;
 
         // let's try maven 2 repo first
-        f = new File(System.getProperty("maven2.local.default.repo",
-                "/usr/share/maven2/repository") + "/" + m2path);
+        f = new File("/usr/share/maven2/poms/" + fName);
         if (f.exists()) {
             return new StringBuffer(f.getPath());
         }
 
         // now maven 3 specific repository
-        f = new File(System.getProperty("maven.local.default.repo",
-                "/usr/share/maven/repository") + "/" + m3path);
+        f = new File("/usr/share/maven/poms/" + fName);
         if (f.exists()) {
             return new StringBuffer(f.getPath());
         }
@@ -115,8 +108,6 @@ public class JavadirWorkspaceReader implements WorkspaceReader {
         }
 
         // final fallback to m2 default poms
-        return new StringBuffer("/usr/share/maven2/repository/"
-                + System.getProperty("maven.local.default.repo",
-                        "JPP/maven2/default_poms") + "/" + fName);
+        return new StringBuffer("/usr/share/maven2/default_poms/" + fName);
     }
 }
diff --git a/MavenJPackageDepmap.java b/MavenJPackageDepmap.java
index 7fdc2ab..2567c0c 100644
--- a/MavenJPackageDepmap.java
+++ b/MavenJPackageDepmap.java
@@ -106,10 +106,6 @@ public class MavenJPackageDepmap {
         }
 
         jppCombination = (String) jppArtifactMap.get(idToCheck);
-
-        // System.err.println("*** " + groupId+","+artifactId+","+version +
-        // " => " + jppCombination);
-
         jppDep = new Hashtable<String, String>();
         if (jppCombination != null && jppCombination != "") {
 
@@ -255,13 +251,10 @@ public class MavenJPackageDepmap {
                             + jppAD.artifactId + "," + jppAD.version);
                 }
             } else {
-                debug("Number of jpp sub-elements is not 1. Dropping dependency");
-                debug("*** Adding: " + mavenAD.groupId + ","
-                        + mavenAD.artifactId + "," + " => "
-                        + "JPP/maven2,empty-dep," + mavenAD.version
-                        + " to map...");
+                debug("Number of jpp sub-elements is not 1. Dropping dependency for "
+                        + mavenAD.groupId + ":" + mavenAD.artifactId);
                 jppArtifactMap.put(mavenAD.groupId + "," + mavenAD.artifactId,
-                        "JPP/maven2,empty-dep," + mavenAD.version);
+                        "JPP/maven,empty-dep," + mavenAD.version);
             }
         }
     }
diff --git a/maven-empty-dep.jar b/maven-empty-dep.jar
new file mode 100644
index 0000000..7762e6d
Binary files /dev/null and b/maven-empty-dep.jar differ
diff --git a/maven-empty-dep.pom b/maven-empty-dep.pom
new file mode 100644
index 0000000..2648e50
--- /dev/null
+++ b/maven-empty-dep.pom
@@ -0,0 +1,9 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>JPP/maven</groupId>
+  <artifactId>empty-dep</artifactId>
+  <version>2.0.4</version>
+  <name>Empty dependency</name>
+  <description>This is an empty dependency. For use in local mode when one or more dependencies need elimination.</description>
+</project>
diff --git a/maven.spec b/maven.spec
index ebddb71..d76d204 100644
--- a/maven.spec
+++ b/maven.spec
@@ -1,7 +1,7 @@
 
 Name:           maven
 Version:        3.0.3
-Release:        5%{?dist}
+Release:        6%{?dist}
 Summary:        Java project management and project comprehension tool
 
 Group:          Development/Tools
@@ -16,6 +16,10 @@ Source0:        http://www.apache.org/dyn/closer.cgi/maven/source/apache-%{name}
 Source100:      JavadirWorkspaceReader.java
 Source101:      MavenJPackageDepmap.java
 
+# empty files for resolving to nothing
+Source104:    %{name}-empty-dep.pom
+Source105:    %{name}-empty-dep.jar
+
 # 2xx for created non-buildable sources
 Source200:    %{name}-script
 Source201:    %{name}-script-local
@@ -57,6 +61,9 @@ BuildRequires:  google-guice >= 3.0
 BuildRequires:  hamcrest
 BuildRequires:  apache-commons-parent
 
+# temporary for default poms resolving fix
+BuildRequires:  maven2
+
 Requires:       java >= 1:1.6.0
 Requires:       plexus-classworlds >= 2.4
 Requires:       apache-commons-cli
@@ -235,6 +242,11 @@ install -dm 755 $RPM_BUILD_ROOT%{_javadir}/%{name}
 #*#####################
 ln -s %{_datadir}/%{name}/poms $RPM_BUILD_ROOT%{_javadir}/%{name}/poms
 
+# for our custom resolver to remove dependencies we need empty jar and
+# pom file
+install -m 644 %{SOURCE104} $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.maven-empty-dep.pom
+install -m 644 %{SOURCE105} $RPM_BUILD_ROOT%{_javadir}/%{name}/empty-dep.jar
+
 ############
 # /usr/bin #
 ############
@@ -308,6 +320,10 @@ cp -pr target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}
 
 
 %changelog
+* Tue Jun 21 2011 Stanislav Ochotnicky <sochotnicky at redhat.com> - 3.0.3-6
+- Fix handling of fallback default_poms
+- Add empty-dep into maven package to not require maven2 version
+
 * Fri Jun 10 2011 Stanislav Ochotnicky <sochotnicky at redhat.com> - 3.0.3-5
 - Process fragments directly instead of maven2-depmap.xml
 - Expect fragments in /usr/share/maven-fragments


More information about the java-sig-commits mailing list