package org.apache.maven.repository; /* ==================================================================== * Copyright 2001-2004 The Apache Software Foundation. * * 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. * ==================================================================== */ import java.util.List; import org.apache.maven.jelly.MavenJellyContext; import org.apache.maven.project.Dependency; import org.apache.maven.project.Project; /** * This will do until wagon debuts. * * @author Brett Porter * @version $Id: DefaultArtifactTypeHandler.java,v 1.1.2.2 2004/06/26 14:52:05 dion Exp $ */ public class DefaultArtifactTypeHandler implements ArtifactTypeHandler { public DefaultArtifactTypeHandler() { } public List getDependentArtifacts(Artifact artifact, MavenJellyContext context) { return null; } /** * Return an appropriate Artifact implementation based on the dependency * type. * * @param dependency The base dependency. * @todo not the intended usage of test type * @return The appropriate artifact based on the dependency type. */ public Artifact createArtifact( Dependency dependency ) { return DefaultArtifactFactory.createArtifact(dependency); } /** * Map an artifact to a repository directory path. * * @param project the project for the artifact * @param type The type of the artifact * @return the path */ public String constructRepositoryDirectoryPath(String type, Project project) { StringBuffer path = new StringBuffer(); path.append(project.getArtifactDirectory()); path.append("/"); path.append(type + "s"); path.append("/"); return path.toString(); } /** * Map an artifact to a repository path. * * @param project the project for the artifact * @param type The type of the artifact * @param version The version of the artifact (may be a snapshot) * @return the path */ public String constructRepositoryFullPath(String type, Project project, String version) { StringBuffer path = new StringBuffer(constructRepositoryDirectoryPath(type, project)); path.append(project.getArtifactId()); path.append("-"); path.append(version); path.append(extensionForType(type)); return path.toString(); } /** @deprecated plugin, ejb and uberjar should provide their own implementation. */ private String extensionForType(String type) { if (type.equals("uberjar") || type.equals("ejb") || type.equals("plugin")) { return ".jar"; } else { return "." + type; } } }