1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.pmd.stubs;
20
21 import java.io.File;
22 import java.io.FileInputStream;
23 import java.io.InputStream;
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 extends PmdProjectStub {
39 private List<ReportPlugin> reportPlugins = new ArrayList<>();
40
41 private Build build;
42
43 public DefaultConfigurationMavenProjectStub() {
44 MavenXpp3Reader pomReader = new MavenXpp3Reader();
45 Model model = null;
46
47 try (InputStream is = new FileInputStream(new File(getBasedir()
48 + "/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml"))) {
49 model = pomReader.read(is);
50 setModel(model);
51 } catch (Exception e) {
52 }
53
54 setGroupId(model.getGroupId());
55 setArtifactId(model.getArtifactId());
56 setVersion(model.getVersion());
57 setName(model.getName());
58 setUrl(model.getUrl());
59 setPackaging(model.getPackaging());
60
61 Scm scm = new Scm();
62 scm.setConnection("scm:svn:http://svn.apache.org/maven/sample/trunk");
63 setScm(scm);
64
65 Build build = new Build();
66 build.setFinalName(model.getBuild().getFinalName());
67 build.setDirectory(getBasedir() + "/target/test/unit/default-configuration/target");
68 build.setSourceDirectory(getBasedir() + "/src/test/resources/unit/default-configuration");
69 setBuild(build);
70
71 setReportPlugins(model.getReporting().getPlugins());
72
73 String basedir = getBasedir().getAbsolutePath();
74 List<String> compileSourceRoots = new ArrayList<>();
75 compileSourceRoots.add(basedir + "/src/test/resources/unit/default-configuration/def/configuration");
76 setCompileSourceRoots(compileSourceRoots);
77
78 File file = new File(getBasedir().getAbsolutePath() + "/pom.xml");
79 setFile(file);
80
81 Artifact artifact = new PmdPluginArtifactStub(getGroupId(), getArtifactId(), getVersion(), getPackaging());
82 artifact.setArtifactHandler(new DefaultArtifactHandlerStub());
83 setArtifact(artifact);
84 }
85
86 public void setReportPlugins(List<ReportPlugin> plugins) {
87 this.reportPlugins = plugins;
88 }
89
90
91 @Override
92 public List<ReportPlugin> getReportPlugins() {
93 return reportPlugins;
94 }
95
96
97 @Override
98 public void setBuild(Build build) {
99 this.build = build;
100 }
101
102
103 @Override
104 public Build getBuild() {
105 return build;
106 }
107 }