X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.repo%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Frepo%2Fmaven%2FMavenConventionsUtils.java;h=2bf08c5b39d31ecaca75455085d82c0d2184260a;hb=4578db21c506c3f8eee57a896c9e71154e2065be;hp=cce0c12ae13981fe7415b574371057f2739078a3;hpb=0daf700ed7880d6496c5cab6e5aafa71663894fb;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/MavenConventionsUtils.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/MavenConventionsUtils.java index cce0c12ae..2bf08c5b3 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/MavenConventionsUtils.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/MavenConventionsUtils.java @@ -63,6 +63,12 @@ public class MavenConventionsUtils { .getClassifier()) + '.' + artifact.getExtension(); } + /** Absolute path to the file */ + public static String artifactPath(String artifactBasePath, Artifact artifact) { + return artifactParentPath(artifactBasePath, artifact) + '/' + + artifactFileName(artifact); + } + /** Absolute path to the directories where the files will be stored */ public static String artifactParentPath(String artifactBasePath, Artifact artifact) { @@ -70,12 +76,86 @@ public class MavenConventionsUtils { + artifactParentPath(artifact); } + /** Absolute path to the directory of this group */ + public static String groupPath(String artifactBasePath, String groupId) { + return artifactBasePath + (artifactBasePath.endsWith("/") ? "" : "/") + + groupId.replace('.', '/'); + } + /** Relative path to the directories where the files will be stored */ public static String artifactParentPath(Artifact artifact) { return artifact.getGroupId().replace('.', '/') + '/' + artifact.getArtifactId() + '/' + artifact.getVersion(); } + public static String artifactsAsDependencyPom(Artifact pomArtifact, + Set artifacts, Artifact parent) { + StringBuffer p = new StringBuffer(); + + // XML header + p.append("\n"); + p.append("\n"); + p.append("4.0.0"); + + // Artifact + if (parent != null) { + p.append("\n"); + p.append("").append(parent.getGroupId()) + .append("\n"); + p.append("").append(parent.getArtifactId()) + .append("\n"); + p.append("").append(parent.getVersion()) + .append("\n"); + p.append("\n"); + } + p.append("").append(pomArtifact.getGroupId()) + .append("\n"); + p.append("").append(pomArtifact.getArtifactId()) + .append("\n"); + p.append("").append(pomArtifact.getVersion()) + .append("\n"); + p.append("pom\n"); + + // Dependencies + p.append("\n"); + for (Artifact a : artifacts) { + p.append("\t"); + p.append("").append(a.getArtifactId()) + .append(""); + p.append("").append(a.getGroupId()).append(""); + if (!a.getExtension().equals("jar")) + p.append("").append(a.getExtension()).append(""); + p.append("\n"); + } + p.append("\n"); + + // Dependency management + p.append("\n"); + p.append("\n"); + for (Artifact a : artifacts) { + p.append("\t"); + p.append("").append(a.getArtifactId()) + .append(""); + p.append("").append(a.getVersion()).append(""); + p.append("").append(a.getGroupId()).append(""); + if (a.getExtension().equals("pom")) { + p.append("").append(a.getExtension()).append(""); + p.append("import"); + } + p.append("\n"); + } + p.append("\n"); + p.append("\n"); + + // Repositories + p.append("\n"); + p.append("argeohttp://maven.argeo.org/argeo\n"); + p.append("\n"); + + p.append("\n"); + return p.toString(); + } + /** * Directly parses Maven POM XML format in order to find all artifacts * references under the dependency and dependencyManagement tags. This is