Initial revision

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163892 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Brett Leslie Porter 2005-04-11 07:25:32 +00:00
parent f83ce754d9
commit 2e26062946
2 changed files with 108 additions and 0 deletions

33
maven-artifact-test/pom.xml Executable file
View File

@ -0,0 +1,33 @@
<model>
<parent>
<groupId>org.apache.maven</groupId>
<artifactId>maven</artifactId>
<version>2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>maven-artifact-test</artifactId>
<name>Maven Artifact Test Helper Library</name>
<dependencies>
<dependency>
<groupId>plexus</groupId>
<artifactId>plexus-container-default</artifactId>
<version>1.0-alpha-2</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>compile</scope>
</dependency>
</dependencies>
</model>

View File

@ -0,0 +1,75 @@
package org.apache.maven.artifact.test;
/*
* Copyright 2001-2005 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 org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.layout.ArtifactPathFormatException;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.wagon.repository.Repository;
import org.apache.maven.settings.Settings;
import org.apache.maven.settings.Profile;
import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
import org.codehaus.plexus.PlexusTestCase;
import java.io.File;
import java.io.FileReader;
/**
* Test case that builds standard artifact stuff like repositories.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
* @version $Id$
*/
public abstract class ArtifactTestCase
extends PlexusTestCase
{
private ArtifactRepository localRepository;
protected File getLocalArtifactPath( Artifact artifact )
throws ArtifactPathFormatException
{
return new File( localRepository.getBasedir(), localRepository.pathOf( artifact ) );
}
protected void setUp()
throws Exception
{
super.setUp();
File settingsFile = new File( System.getProperty( "user.home" ), ".m2/settings.xml" );
String localRepo = null;
if ( settingsFile.exists() )
{
Settings settings = new SettingsXpp3Reader().read( new FileReader( settingsFile ) );
// TODO: when settings has the code necessary, get the active profile.
Profile profile = (Profile) settings.getProfiles().get( 0 );
localRepo = profile.getLocalRepository();
}
else
{
localRepo = System.getProperty( "user.home" ) + "/.m2/repository";
}
ArtifactRepositoryLayout repositoryLayout = (ArtifactRepositoryLayout) container.lookup(
ArtifactRepositoryLayout.ROLE, "default" );
localRepository = new ArtifactRepository( "local", "file://" + localRepo, repositoryLayout );
}
}