1 package org.apache.maven.project.collector;
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.DefaultMaven;
23 import org.apache.maven.execution.MavenExecutionRequest;
24 import org.apache.maven.model.building.ModelSource;
25 import org.apache.maven.model.building.UrlModelSource;
26 import org.apache.maven.project.MavenProject;
27 import org.apache.maven.project.ProjectBuilder;
28 import org.apache.maven.project.ProjectBuildingException;
29 import org.apache.maven.project.ProjectBuildingRequest;
30
31 import javax.inject.Inject;
32 import javax.inject.Named;
33 import javax.inject.Singleton;
34 import java.util.Arrays;
35 import java.util.List;
36
37
38
39
40 @Named( "PomlessCollectionStrategy" )
41 @Singleton
42 public class PomlessCollectionStrategy
43 implements ProjectCollectionStrategy
44 {
45 private final ProjectBuilder projectBuilder;
46
47 @Inject
48 public PomlessCollectionStrategy( ProjectBuilder projectBuilder )
49 {
50 this.projectBuilder = projectBuilder;
51 }
52
53 @Override
54 public List<MavenProject> collectProjects( final MavenExecutionRequest request )
55 throws ProjectBuildingException
56 {
57 ProjectBuildingRequest buildingRequest = request.getProjectBuildingRequest();
58 ModelSource modelSource = new UrlModelSource( DefaultMaven.class.getResource( "project/standalone.xml" ) );
59 MavenProject project = projectBuilder.build( modelSource, buildingRequest ).getProject();
60 project.setExecutionRoot( true );
61 request.setProjectPresent( false );
62
63 return Arrays.asList( project );
64 }
65 }