1 package org.apache.maven.artifact.test;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.artifact.Artifact;
23 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
24 import org.apache.maven.artifact.repository.ArtifactRepository;
25 import org.apache.maven.artifact.repository.DefaultArtifactRepository;
26 import org.apache.maven.settings.Settings;
27 import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
28 import org.codehaus.plexus.PlexusTestCase;
29 import org.codehaus.plexus.util.ReaderFactory;
30
31 import java.io.File;
32
33
34
35
36
37
38
39 public abstract class ArtifactTestCase
40 extends PlexusTestCase
41 {
42 private ArtifactRepository localRepository;
43
44 protected File getLocalArtifactPath( Artifact artifact )
45 {
46 return new File( localRepository.getBasedir(), localRepository.pathOf( artifact ) );
47 }
48
49 protected void setUp()
50 throws Exception
51 {
52 super.setUp();
53
54 String localRepo = System.getProperty( "maven.repo.local" );
55
56 if ( localRepo == null )
57 {
58 File settingsFile = new File( System.getProperty( "user.home" ), ".m2/settings.xml" );
59 if ( settingsFile.exists() )
60 {
61 Settings settings = new SettingsXpp3Reader().read( ReaderFactory.newXmlReader( settingsFile ) );
62 localRepo = settings.getLocalRepository();
63 }
64 }
65 if ( localRepo == null )
66 {
67 localRepo = System.getProperty( "user.home" ) + "/.m2/repository";
68 }
69
70 ArtifactRepositoryLayout repositoryLayout = (ArtifactRepositoryLayout) container.lookup(
71 ArtifactRepositoryLayout.ROLE, "default" );
72
73 localRepository = new DefaultArtifactRepository( "local", "file://" + localRepo, repositoryLayout );
74 }
75
76 }