1 package org.apache.maven;
2
3 import java.io.File;
4 import java.util.Collections;
5 import java.util.List;
6 import java.util.Properties;
7 import java.util.Set;
8
9 import org.apache.maven.artifact.Artifact;
10 import org.apache.maven.execution.MavenSession;
11 import org.apache.maven.model.Exclusion;
12 import org.apache.maven.project.MavenProject;
13 import org.codehaus.plexus.component.annotations.Requirement;
14
15 public class ProjectDependenciesResolverTest
16 extends AbstractCoreMavenComponentTestCase
17 {
18 @Requirement
19 private ProjectDependenciesResolver resolver;
20
21 protected void setUp()
22 throws Exception
23 {
24 super.setUp();
25 resolver = lookup( ProjectDependenciesResolver.class );
26 }
27
28 @Override
29 protected void tearDown()
30 throws Exception
31 {
32 resolver = null;
33 super.tearDown();
34 }
35
36 protected String getProjectsDirectory()
37 {
38 return "src/test/projects/project-dependencies-resolver";
39 }
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 public void testSystemScopeDependencies()
66 throws Exception
67 {
68 MavenSession session = createMavenSession( null );
69 MavenProject project = session.getCurrentProject();
70
71 new ProjectBuilder( project )
72 .addDependency( "com.mycompany", "system-dependency", "1.0", Artifact.SCOPE_SYSTEM, new File( getBasedir(), "pom.xml" ).getAbsolutePath() );
73
74 Set<Artifact> artifactDependencies =
75 resolver.resolve( project, Collections.singleton( Artifact.SCOPE_COMPILE ), session );
76 assertEquals( 1, artifactDependencies.size() );
77 }
78
79 public void testSystemScopeDependencyIsPresentInTheCompileClasspathElements()
80 throws Exception
81 {
82 File pom = getProject( "it0063" );
83
84 Properties eps = new Properties();
85 eps.setProperty( "jre.home", new File( pom.getParentFile(), "jdk/jre" ).getPath() );
86
87 MavenSession session = createMavenSession( pom, eps );
88 MavenProject project = session.getCurrentProject();
89
90 project.setArtifacts( resolver.resolve( project, Collections.singleton( Artifact.SCOPE_COMPILE ), session ) );
91
92 List<String> elements = project.getCompileClasspathElements();
93 assertEquals( 2, elements.size() );
94
95 List<Artifact> artifacts = project.getCompileArtifacts();
96 assertEquals( 1, artifacts.size() );
97 assertTrue( artifacts.get( 0 ).getFile().getName().endsWith( "tools.jar" ) );
98 }
99 }