1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.javadoc.stubs;
20
21 import java.io.File;
22 import java.util.ArrayList;
23 import java.util.Arrays;
24 import java.util.Collections;
25 import java.util.List;
26 import java.util.Set;
27
28 import org.apache.maven.artifact.Artifact;
29 import org.apache.maven.model.Build;
30 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
31 import org.apache.maven.project.MavenProject;
32
33
34
35
36 public class AbstractAggregateMavenProjectStub extends MavenProjectStub {
37 private final String baseDir;
38 private final String[] projects;
39
40 public AbstractAggregateMavenProjectStub(
41 String baseDir, String pomFileName, String targetDirectory, String... projects) {
42 this.baseDir = baseDir;
43 this.projects = projects;
44 readModel(new File(getBasedir(), pomFileName));
45
46 setGroupId(getModel().getGroupId());
47 setArtifactId(getModel().getArtifactId());
48 setVersion(getModel().getVersion());
49 setName(getModel().getName());
50 setUrl(getModel().getUrl());
51 setPackaging(getModel().getPackaging());
52
53 setExecutionRoot(true);
54
55 Build build = new Build();
56 build.setFinalName(getModel().getArtifactId());
57 build.setSourceDirectory(getBasedir() + "/src/main/java");
58 build.setDirectory(super.getBasedir() + targetDirectory);
59 setBuild(build);
60
61 List<String> compileSourceRoots = new ArrayList<>();
62 setCompileSourceRoots(compileSourceRoots);
63 }
64
65 @Override
66 public File getBasedir() {
67 return new File(super.getBasedir() + baseDir);
68 }
69
70 @Override
71 public MavenProject getExecutionProject() {
72 return this;
73 }
74
75 @Override
76 public List<String> getModules() {
77 return Arrays.asList(projects);
78 }
79
80 @Override
81 public Set<Artifact> getDependencyArtifacts() {
82 return Collections.emptySet();
83 }
84 }