1 package org.apache.maven.project;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23 import java.util.Properties;
24
25 import org.apache.maven.AbstractCoreMavenComponentTestCase;
26 import org.apache.maven.execution.MavenSession;
27 import org.apache.maven.model.building.FileModelSource;
28 import org.apache.maven.model.building.ModelSource;
29
30 public class ProjectBuilderTest
31 extends AbstractCoreMavenComponentTestCase
32 {
33 protected String getProjectsDirectory()
34 {
35 return "src/test/projects/project-builder";
36 }
37
38 public void testSystemScopeDependencyIsPresentInTheCompileClasspathElements()
39 throws Exception
40 {
41 File pom = getProject( "it0063" );
42
43 Properties eps = new Properties();
44 eps.setProperty( "jre.home", new File( pom.getParentFile(), "jdk/jre" ).getPath() );
45
46 MavenSession session = createMavenSession( pom, eps );
47 MavenProject project = session.getCurrentProject();
48
49
50
51
52 project.getCompileClasspathElements();
53 }
54
55 public void testBuildFromModelSource()
56 throws Exception
57 {
58 File pomFile = new File( "src/test/resources/projects/modelsource/module01/pom.xml" );
59 MavenSession mavenSession = createMavenSession( pomFile );
60 ProjectBuildingRequest configuration = new DefaultProjectBuildingRequest();
61 configuration.setRepositorySession( mavenSession.getRepositorySession() );
62 ModelSource modelSource = new FileModelSource( pomFile );
63 ProjectBuildingResult result =
64 lookup( org.apache.maven.project.ProjectBuilder.class ).build( modelSource, configuration );
65
66 assertNotNull( result.getProject().getParentFile() );
67 }
68
69 public void testVersionlessManagedDependency()
70 throws Exception
71 {
72 File pomFile = new File( "src/test/resources/projects/versionless-managed-dependency.xml" );
73 MavenSession mavenSession = createMavenSession( null );
74 ProjectBuildingRequest configuration = new DefaultProjectBuildingRequest();
75 configuration.setRepositorySession( mavenSession.getRepositorySession() );
76
77 try
78 {
79 lookup( org.apache.maven.project.ProjectBuilder.class ).build( pomFile, configuration );
80 fail();
81 }
82 catch ( ProjectBuildingException e )
83 {
84
85 }
86 }
87 }