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