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