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.Scm;
31 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
32
33
34
35
36
37 public class InvalidFormatMavenProjectStub extends PmdProjectStub {
38 private Build build;
39
40 public InvalidFormatMavenProjectStub() {
41 MavenXpp3Reader pomReader = new MavenXpp3Reader();
42 Model model = null;
43
44 try (InputStream is = new FileInputStream(
45 new File(getBasedir() + "/src/test/resources/unit/invalid-format/invalid-format-plugin-config.xml"))) {
46 model = pomReader.read(is);
47 setModel(model);
48 } catch (Exception e) {
49 }
50
51 setGroupId(model.getGroupId());
52 setArtifactId(model.getArtifactId());
53 setVersion(model.getVersion());
54 setName(model.getName());
55 setUrl(model.getUrl());
56 setPackaging(model.getPackaging());
57
58 Scm scm = new Scm();
59 scm.setConnection("scm:svn:http://svn.apache.org/maven/sample/trunk");
60 setScm(scm);
61
62 Build build = new Build();
63 build.setFinalName(model.getBuild().getFinalName());
64 build.setDirectory(getBasedir() + "/target/test/unit/invalid-format/target");
65 build.setSourceDirectory(getBasedir() + "/src/test/resources/unit/invalid-format");
66 setBuild(build);
67
68 String basedir = getBasedir().getAbsolutePath();
69 List<String> compileSourceRoots = new ArrayList<>();
70 compileSourceRoots.add(basedir + "/src/test/resources/unit/invalid-format/invalid/format");
71 setCompileSourceRoots(compileSourceRoots);
72
73 Artifact artifact = new PmdPluginArtifactStub(getGroupId(), getArtifactId(), getVersion(), getPackaging());
74 artifact.setArtifactHandler(new DefaultArtifactHandlerStub());
75 setArtifact(artifact);
76
77 setFile(new File(getBasedir().getAbsolutePath() + "/pom.xml"));
78 }
79
80
81 @Override
82 public void setBuild(Build build) {
83 this.build = build;
84 }
85
86
87 @Override
88 public Build getBuild() {
89 return build;
90 }
91 }