[maven] Add support for custom jar/pom/fragment directories
Stanislav Ochotnicky
sochotni at fedoraproject.org
Fri Nov 9 12:26:22 UTC 2012
commit 19395ab0e3139a5d4f7b850d0a1a01c88c412654
Author: Stanislav Ochotnicky <sochotnicky at redhat.com>
Date: Fri Nov 9 13:26:13 2012 +0100
Add support for custom jar/pom/fragment directories
JavadirWorkspaceReader.java | 46 +++++++++++++++++++++++++++++--------------
MavenJPackageDepmap.java | 13 ++++++++++++
maven.spec | 5 +++-
3 files changed, 48 insertions(+), 16 deletions(-)
---
diff --git a/JavadirWorkspaceReader.java b/JavadirWorkspaceReader.java
index 2c1e9df..a62953a 100644
--- a/JavadirWorkspaceReader.java
+++ b/JavadirWorkspaceReader.java
@@ -2,6 +2,7 @@ package org.apache.maven.artifact.resolver;
import java.io.File;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Hashtable;
import java.util.LinkedList;
import java.util.List;
@@ -114,27 +115,33 @@ public class JavadirWorkspaceReader implements WorkspaceReader {
return ret;
}
} else {
- String repos[] = { "/usr/share/maven/repository/",
- "/usr/share/maven/repository-java-jni/",
- "/usr/share/maven/repository-jni/" };
+ ArrayList<String> repos = new ArrayList<String>();
+ String custom_paths = System.getProperty(
+ "maven.local.jar.paths", null);
+ if (custom_paths != null) {
+ repos.addAll(Arrays.asList(custom_paths.split(":")));
+ }
+ repos.add("/usr/share/maven/repository/");
+ repos.add("/usr/share/maven/repository-java-jni/");
+ repos.add("/usr/share/maven/repository-jni/");
+
String verRelativeArtifactPath = groupId + "/" + artifactId
+ "-" + wantedVersion + "." + artifact.getExtension();
String relativeArtifactPath = groupId + "/" + artifactId + "."
+ artifact.getExtension();
for (String repo : repos) {
- path = new StringBuffer(repo + verRelativeArtifactPath);
- ret = new File(path.toString());
+
+ ret = new File(repo, verRelativeArtifactPath);
+ MavenJPackageDepmap.debug("Looking for " + ret.getPath());
if (ret.isFile()) {
- MavenJPackageDepmap.debug("Returning " + repo
- + verRelativeArtifactPath);
+ MavenJPackageDepmap.debug("Returning " + ret.getPath());
return ret;
}
- path = new StringBuffer(repo + relativeArtifactPath);
- ret = new File(path.toString());
+ ret = new File(repo, relativeArtifactPath);
+ MavenJPackageDepmap.debug("Looking for " + ret.getPath());
if (ret.isFile()) {
- MavenJPackageDepmap.debug("Returning " + repo
- + relativeArtifactPath);
+ MavenJPackageDepmap.debug("Returning " + ret.getPath());
return ret;
}
}
@@ -161,16 +168,25 @@ public class JavadirWorkspaceReader implements WorkspaceReader {
String verfName = groupId.replace(PATH_SEPARATOR, GROUP_SEPARATOR)
+ "-" + artifactId + "-" + version + ".pom";
File f;
- String[] pomRepos = { "/usr/share/maven2/poms/",
- "/usr/share/maven/poms/", "/usr/share/maven-poms/" };
+ String custom_paths = System.getProperty("maven.local.pom.paths", null);
+
+ ArrayList<String> pomRepos = new ArrayList<String>();
+ if (custom_paths != null) {
+ pomRepos.addAll(Arrays.asList(custom_paths.split(":")));
+ }
+ pomRepos.add("/usr/share/maven2/poms/");
+ pomRepos.add("/usr/share/maven/poms/");
+ pomRepos.add("/usr/share/maven-poms/");
for (String pomRepo : pomRepos) {
- f = new File(pomRepo + verfName);
+ f = new File(pomRepo, verfName);
+ MavenJPackageDepmap.debug("Looking for " + f.getPath());
if (f.exists()) {
return new StringBuffer(f.getPath());
}
- f = new File(pomRepo + fName);
+ f = new File(pomRepo, fName);
+ MavenJPackageDepmap.debug("Looking for " + f.getPath());
if (f.exists()) {
return new StringBuffer(f.getPath());
}
diff --git a/MavenJPackageDepmap.java b/MavenJPackageDepmap.java
index 5004255..8fa1b3b 100644
--- a/MavenJPackageDepmap.java
+++ b/MavenJPackageDepmap.java
@@ -181,6 +181,19 @@ public class MavenJPackageDepmap {
processDepmapFile("/usr/share/maven-fragments/" + fragFilename);
}
+ String customDepmapDir = System.getProperty("maven.local.depmap.dir",
+ null);
+ if (customDepmapDir != null) {
+ fragmentDir = new File(customDepmapDir);
+ flist = fragmentDir.list();
+ if (flist != null) {
+ java.util.Arrays.sort(flist);
+ for (String fragFilename : flist)
+ processDepmapFile(customDepmapDir + File.separator
+ + fragFilename);
+ }
+ }
+
String customFileName = System.getProperty("maven.local.depmap.file",
null);
if (customFileName != null) {
diff --git a/maven.spec b/maven.spec
index 549a6b4..1cd4dae 100644
--- a/maven.spec
+++ b/maven.spec
@@ -2,7 +2,7 @@
Name: maven
Version: 3.0.4
-Release: 20%{?dist}
+Release: 21%{?dist}
Summary: Java project management and project comprehension tool
Group: Development/Tools
@@ -385,6 +385,9 @@ ln -sf `rpm --eval '%%{_jnidir}'` %{_datadir}/%{name}/repository-jni/JPP
%changelog
+* Thu Nov 08 2012 Stanislav Ochotnicky <sochotnicky at redhat.com> - 3.0.4-21
+- Add support for custom jar/pom/fragment directories
+
* Thu Nov 8 2012 Mikolaj Izdebski <mizdebsk at redhat.com> - 3.0.4-20
- Remove all slf4j providers except nop from maven realm
More information about the scm-commits
mailing list