1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.project.collector;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23 import javax.inject.Singleton;
24
25 import java.util.Arrays;
26 import java.util.List;
27
28 import org.apache.maven.DefaultMaven;
29 import org.apache.maven.execution.MavenExecutionRequest;
30 import org.apache.maven.model.building.ModelSource;
31 import org.apache.maven.model.building.UrlModelSource;
32 import org.apache.maven.project.MavenProject;
33 import org.apache.maven.project.ProjectBuilder;
34 import org.apache.maven.project.ProjectBuildingException;
35 import org.apache.maven.project.ProjectBuildingRequest;
36
37
38
39
40 @Named("PomlessCollectionStrategy")
41 @Singleton
42 public class PomlessCollectionStrategy implements ProjectCollectionStrategy {
43 private final ProjectBuilder projectBuilder;
44
45 @Inject
46 public PomlessCollectionStrategy(ProjectBuilder projectBuilder) {
47 this.projectBuilder = projectBuilder;
48 }
49
50 @Override
51 public List<MavenProject> collectProjects(final MavenExecutionRequest request) throws ProjectBuildingException {
52 ProjectBuildingRequest buildingRequest = request.getProjectBuildingRequest();
53 ModelSource modelSource = new UrlModelSource(DefaultMaven.class.getResource("project/standalone.xml"));
54 MavenProject project =
55 projectBuilder.build(modelSource, buildingRequest).getProject();
56 project.setExecutionRoot(true);
57 request.setProjectPresent(false);
58
59 return Arrays.asList(project);
60 }
61 }