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=4e8d3fb832f54ac6c6f24d905e4c8850682f3209;hb=fa099b50351a61638bdb1e3becc45ace640c15f2;hp=3531515cd9ad4a0cd441b55d96b1c0dbc67b66f6;hpb=85f08be9b08c3938d25c46cae5b56dd0c4543cc7;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 3531515cd..4e8d3fb83 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 @@ -1,3 +1,18 @@ +/* + * Copyright (C) 2007-2012 Argeo GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.argeo.slc.repo.maven; import java.io.File; @@ -63,6 +78,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,66 +91,84 @@ 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(); + + artifact.getArtifactId() + '/' + artifact.getBaseVersion(); } public static String artifactsAsDependencyPom(Artifact pomArtifact, - Set artifacts) { - StringBuffer b = new StringBuffer(); + Set artifacts, Artifact parent) { + StringBuffer p = new StringBuffer(); // XML header - b.append("\n"); - b.append("\n"); - b.append("4.0.0"); + p.append("\n"); + p.append("\n"); + p.append("4.0.0\n"); // Artifact - b.append("org.argeoparent1.2.0\n"); - b.append("").append(pomArtifact.getGroupId()) + 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"); - b.append("").append(pomArtifact.getArtifactId()) + p.append("").append(pomArtifact.getArtifactId()) .append("\n"); - b.append("").append(pomArtifact.getVersion()) + p.append("").append(pomArtifact.getVersion()) .append("\n"); - b.append("pom\n"); + p.append("pom\n"); // Dependencies - b.append("\n"); - for (Artifact artifact : artifacts) { - b.append("\t"); - b.append("").append(artifact.getArtifactId()) + p.append("\n"); + for (Artifact a : artifacts) { + p.append("\t"); + p.append("").append(a.getArtifactId()) .append(""); - b.append("").append(artifact.getGroupId()) - .append(""); - b.append("\n"); + p.append("").append(a.getGroupId()).append(""); + if (!a.getExtension().equals("jar")) + p.append("").append(a.getExtension()).append(""); + p.append("\n"); } - b.append("\n"); + p.append("\n"); // Dependency management - b.append("\n"); - b.append("\n"); - for (Artifact artifact : artifacts) { - b.append("\t"); - b.append("").append(artifact.getArtifactId()) + p.append("\n"); + p.append("\n"); + for (Artifact a : artifacts) { + p.append("\t"); + p.append("").append(a.getArtifactId()) .append(""); - b.append("").append(artifact.getVersion()) - .append(""); - b.append("").append(artifact.getGroupId()) - .append(""); - b.append("\n"); + 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"); } - b.append("\n"); - b.append("\n"); + p.append("\n"); + p.append("\n"); // Repositories - b.append("\n"); - b.append("argeohttp://maven.argeo.org/argeo\n"); - b.append("\n"); + // p.append("\n"); + // p.append("argeohttp://maven.argeo.org/argeo\n"); + // p.append("\n"); - b.append("\n"); - return b.toString(); + p.append("\n"); + return p.toString(); } /**