1 package org.apache.maven.plugins.pmd.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.io.FileReader;
24 import java.util.ArrayList;
25 import java.util.List;
26
27 import org.apache.maven.artifact.Artifact;
28 import org.apache.maven.model.Build;
29 import org.apache.maven.model.Model;
30 import org.apache.maven.model.ReportPlugin;
31 import org.apache.maven.model.Scm;
32 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
33
34
35
36
37
38 public class DefaultConfigurationMavenProjectStub
39 extends PmdProjectStub
40 {
41 private List<ReportPlugin> reportPlugins = new ArrayList<>();
42
43 private Build build;
44
45 public DefaultConfigurationMavenProjectStub()
46 {
47 MavenXpp3Reader pomReader = new MavenXpp3Reader();
48 Model model = null;
49
50 try ( FileReader reader = new FileReader( new File( getBasedir()
51 + "/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml" ) ) )
52 {
53 model = pomReader.read( reader );
54 setModel( model );
55 }
56 catch ( Exception e )
57 {
58
59 }
60
61 setGroupId( model.getGroupId() );
62 setArtifactId( model.getArtifactId() );
63 setVersion( model.getVersion() );
64 setName( model.getName() );
65 setUrl( model.getUrl() );
66 setPackaging( model.getPackaging() );
67
68 Scm scm = new Scm();
69 scm.setConnection( "scm:svn:http://svn.apache.org/maven/sample/trunk" );
70 setScm( scm );
71
72 Build build = new Build();
73 build.setFinalName( model.getBuild()
74 .getFinalName() );
75 build.setDirectory( getBasedir() + "/target/test/unit/default-configuration/target" );
76 build.setSourceDirectory( getBasedir() + "/src/test/resources/unit/default-configuration" );
77 setBuild( build );
78
79 setReportPlugins( model.getReporting()
80 .getPlugins() );
81
82 String basedir = getBasedir().getAbsolutePath();
83 List<String> compileSourceRoots = new ArrayList<>();
84 compileSourceRoots.add( basedir + "/src/test/resources/unit/default-configuration/def/configuration" );
85 setCompileSourceRoots( compileSourceRoots );
86
87 File file = new File( getBasedir().getAbsolutePath() + "/pom.xml" );
88 setFile( file );
89
90 Artifact artifact = new PmdPluginArtifactStub( getGroupId(), getArtifactId(), getVersion(), getPackaging() );
91 artifact.setArtifactHandler( new DefaultArtifactHandlerStub() );
92 setArtifact( artifact );
93
94 }
95
96 public void setReportPlugins( List<ReportPlugin> plugins )
97 {
98 this.reportPlugins = plugins;
99 }
100
101
102 @Override
103 public List<ReportPlugin> getReportPlugins()
104 {
105 return reportPlugins;
106 }
107
108
109 @Override
110 public void setBuild( Build build )
111 {
112 this.build = build;
113 }
114
115
116 @Override
117 public Build getBuild()
118 {
119 return build;
120 }
121 }