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.List;
24 import java.util.Objects;
25
26 import org.apache.maven.artifact.Artifact;
27 import org.apache.maven.model.Build;
28 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
29 import org.apache.maven.project.MavenProject;
30
31
32
33
34 public class AbstractAggregateChildMavenProjectStub extends MavenProjectStub {
35 private String baseDir;
36
37 public AbstractAggregateChildMavenProjectStub(String baseDir, String pomFileName, String targetDirectory) {
38 this.baseDir = baseDir;
39 readModel(new File(getBasedir(), pomFileName));
40
41 setGroupId(
42 Objects.toString(getModel().getGroupId(), getModel().getParent().getGroupId()));
43 setArtifactId(getModel().getArtifactId());
44 setVersion(
45 Objects.toString(getModel().getVersion(), getModel().getParent().getVersion()));
46 setName(getModel().getName());
47 setUrl(getModel().getUrl());
48 setPackaging(getModel().getPackaging());
49
50 setExecutionRoot(true);
51
52 Artifact artifact = new JavadocPluginArtifactStub(getGroupId(), getArtifactId(), getVersion(), getPackaging());
53 artifact.setArtifactHandler(new DefaultArtifactHandlerStub());
54 setArtifact(artifact);
55
56 Build build = new Build();
57 build.setFinalName(getModel().getArtifactId());
58 build.setSourceDirectory(getBasedir() + "/src/main/java");
59 build.setDirectory(super.getBasedir() + targetDirectory);
60 setBuild(build);
61
62 List<String> compileSourceRoots = new ArrayList<>();
63 compileSourceRoots.add(getBasedir().getAbsolutePath() + "/src/main/java");
64 setCompileSourceRoots(compileSourceRoots);
65 }
66
67
68 @Override
69 public File getBasedir() {
70 return new File(super.getBasedir() + baseDir);
71 }
72
73
74 @Override
75 public MavenProject getExecutionProject() {
76 return this;
77 }
78 }