1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.model;
20
21 import javax.inject.Inject;
22
23 import java.io.File;
24 import java.util.Collections;
25 import java.util.List;
26
27 import org.apache.maven.bridge.MavenRepositorySystem;
28 import org.apache.maven.execution.DefaultMavenExecutionRequest;
29 import org.apache.maven.execution.MavenExecutionRequest;
30 import org.apache.maven.internal.aether.DefaultRepositorySystemSessionFactory;
31 import org.apache.maven.project.DefaultProjectBuildingRequest;
32 import org.apache.maven.project.ProjectBuilder;
33 import org.apache.maven.project.ProjectBuildingResult;
34 import org.codehaus.plexus.testing.PlexusTest;
35 import org.junit.jupiter.api.Test;
36
37 import static org.junit.jupiter.api.Assertions.assertEquals;
38
39 @PlexusTest
40 public class ModelBuilderTest {
41
42 @Inject
43 ProjectBuilder projectBuilder;
44
45 @Inject
46 MavenRepositorySystem repositorySystem;
47
48 @Inject
49 DefaultRepositorySystemSessionFactory repositorySessionFactory;
50
51 @Test
52 void testModelBuilder() throws Exception {
53 MavenExecutionRequest mavenRequest = new DefaultMavenExecutionRequest();
54 mavenRequest.setLocalRepository(repositorySystem.createLocalRepository(new File("target/test-repo/")));
55
56 DefaultProjectBuildingRequest request = new DefaultProjectBuildingRequest();
57 request.setRepositorySession(repositorySessionFactory.newRepositorySession(mavenRequest));
58 List<ProjectBuildingResult> results = projectBuilder.build(
59 Collections.singletonList(new File("src/test/resources/projects/tree/pom.xml")), true, request);
60
61 assertEquals(3, results.size());
62 }
63 }