1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.pdf.stubs;
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 import java.io.File;
41 import java.io.Reader;
42 import java.util.Collections;
43 import java.util.List;
44 import java.util.Properties;
45
46 import org.apache.maven.artifact.repository.ArtifactRepository;
47 import org.apache.maven.artifact.repository.MavenArtifactRepository;
48 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
49 import org.apache.maven.model.Developer;
50 import org.apache.maven.model.Model;
51 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
52 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
53 import org.codehaus.plexus.util.ReaderFactory;
54
55
56
57
58 public class FilteringMavenProjectStub extends MavenProjectStub {
59 public FilteringMavenProjectStub() {
60 MavenXpp3Reader pomReader = new MavenXpp3Reader();
61 try (Reader reader = ReaderFactory.newXmlReader(getFile())) {
62 final Model model = pomReader.read(reader);
63 setModel(model);
64 } catch (Exception e) {
65 throw new RuntimeException(e);
66 }
67 }
68
69
70 public String getName() {
71 return getModel().getName();
72 }
73
74
75 public String getVersion() {
76 return getModel().getVersion();
77 }
78
79
80 public File getBasedir() {
81 return new File(super.getBasedir(), "target/test-classes/unit/pdf/");
82 }
83
84
85 public List<Developer> getDevelopers() {
86 return getModel().getDevelopers();
87 }
88
89
90 public Properties getProperties() {
91 return getModel().getProperties();
92 }
93
94
95 public List<ArtifactRepository> getRemoteArtifactRepositories() {
96 ArtifactRepository repository = new MavenArtifactRepository(
97 "central", "https://repo.maven.apache.org/maven2", new DefaultRepositoryLayout(), null, null);
98
99 return Collections.singletonList(repository);
100 }
101
102
103 public File getFile() {
104 return new File(getBasedir(), "pom_filtering.xml");
105 }
106 }