1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.api.plugin.testing.stubs;
20
21 import java.nio.file.Path;
22 import java.time.Instant;
23 import java.util.Collection;
24 import java.util.HashMap;
25 import java.util.List;
26 import java.util.Map;
27 import java.util.Optional;
28
29 import org.apache.maven.api.Artifact;
30 import org.apache.maven.api.ArtifactCoordinates;
31 import org.apache.maven.api.Dependency;
32 import org.apache.maven.api.DependencyCoordinates;
33 import org.apache.maven.api.DependencyScope;
34 import org.apache.maven.api.DownloadedArtifact;
35 import org.apache.maven.api.Language;
36 import org.apache.maven.api.Listener;
37 import org.apache.maven.api.LocalRepository;
38 import org.apache.maven.api.Node;
39 import org.apache.maven.api.Packaging;
40 import org.apache.maven.api.PathScope;
41 import org.apache.maven.api.PathType;
42 import org.apache.maven.api.ProducedArtifact;
43 import org.apache.maven.api.Project;
44 import org.apache.maven.api.ProjectScope;
45 import org.apache.maven.api.RemoteRepository;
46 import org.apache.maven.api.Service;
47 import org.apache.maven.api.Session;
48 import org.apache.maven.api.SessionData;
49 import org.apache.maven.api.Type;
50 import org.apache.maven.api.Version;
51 import org.apache.maven.api.VersionConstraint;
52 import org.apache.maven.api.VersionRange;
53 import org.apache.maven.api.annotations.Nonnull;
54 import org.apache.maven.api.annotations.Nullable;
55 import org.apache.maven.api.model.Repository;
56 import org.apache.maven.api.settings.Settings;
57
58
59
60 public class SessionStub implements Session {
61
62 private Map<String, String> userProperties;
63
64 private Map<String, String> systemProperties;
65
66 private final Settings settings;
67
68 public SessionStub(Settings settings) {
69 this(null, null, settings);
70 }
71
72 public SessionStub() {
73 this(null, null, null);
74 }
75
76 public SessionStub(Map<String, String> userProperties) {
77 this(null, userProperties, null);
78 }
79
80 public SessionStub(Map<String, String> systemProperties, Map<String, String> userProperties, Settings settings) {
81
82 this.settings = settings;
83
84 this.systemProperties = new HashMap<>();
85 if (systemProperties != null) {
86 this.systemProperties.putAll(systemProperties);
87 }
88 System.getProperties().forEach((k, v) -> this.systemProperties.put(k.toString(), v.toString()));
89
90 this.userProperties = new HashMap<>();
91 if (userProperties != null) {
92 this.userProperties.putAll(userProperties);
93 }
94 }
95
96 @Override
97 public Settings getSettings() {
98 return settings;
99 }
100
101 @Override
102 public Map<String, String> getSystemProperties() {
103 return this.systemProperties;
104 }
105
106 @Override
107 public Map<String, String> getUserProperties() {
108 return this.userProperties;
109 }
110
111 @Nonnull
112 public Map<String, String> getEffectiveProperties(@Nullable Project project) {
113 HashMap<String, String> result = new HashMap<>(getSystemProperties());
114 if (project != null) {
115 result.putAll(project.getModel().getProperties());
116 }
117 result.putAll(getUserProperties());
118 return result;
119 }
120
121 @Override
122 public LocalRepository getLocalRepository() {
123 return null;
124 }
125
126 @Override
127 public Path getTopDirectory() {
128 return null;
129 }
130
131 @Override
132 public Path getRootDirectory() {
133 return null;
134 }
135
136 @Override
137 public List<RemoteRepository> getRemoteRepositories() {
138 return null;
139 }
140
141 @Override
142 public SessionData getData() {
143 return null;
144 }
145
146 @Override
147 public Version getMavenVersion() {
148 return null;
149 }
150
151 @Override
152 public int getDegreeOfConcurrency() {
153 return 0;
154 }
155
156 @Override
157 public Instant getStartTime() {
158 return null;
159 }
160
161 @Override
162 public List<Project> getProjects() {
163 return null;
164 }
165
166 @Override
167 public Map<String, Object> getPluginContext(Project project) {
168 return null;
169 }
170
171 @Override
172 public <T extends Service> T getService(Class<T> clazz) {
173 return null;
174 }
175
176 @Override
177 public Session withLocalRepository(LocalRepository localRepository) {
178 return null;
179 }
180
181 @Override
182 public Session withRemoteRepositories(List<RemoteRepository> repositories) {
183 return null;
184 }
185
186 @Override
187 public void registerListener(Listener listener) {}
188
189 @Override
190 public void unregisterListener(Listener listener) {}
191
192 @Override
193 public Collection<Listener> getListeners() {
194 return null;
195 }
196
197 @Override
198 public LocalRepository createLocalRepository(Path path) {
199 return null;
200 }
201
202 @Override
203 public RemoteRepository createRemoteRepository(String id, String url) {
204 return null;
205 }
206
207 @Override
208 public RemoteRepository createRemoteRepository(Repository repository) {
209 return null;
210 }
211
212 @Override
213 public Artifact createArtifact(String groupId, String artifactId, String version, String extension) {
214 return null;
215 }
216
217 @Override
218 public Artifact createArtifact(
219 String groupId, String artifactId, String version, String classifier, String extension, String type) {
220 return null;
221 }
222
223 @Override
224 public ProducedArtifact createProducedArtifact(
225 String groupId, String artifactId, String version, String extension) {
226 return null;
227 }
228
229 @Override
230 public ProducedArtifact createProducedArtifact(
231 String groupId, String artifactId, String version, String classifier, String extension, String type) {
232 return null;
233 }
234
235 @Override
236 public ArtifactCoordinates createArtifactCoordinates(
237 String groupId, String artifactId, String version, String extension) {
238 return null;
239 }
240
241 @Override
242 public ArtifactCoordinates createArtifactCoordinates(String coordString) {
243 return null;
244 }
245
246 @Override
247 public ArtifactCoordinates createArtifactCoordinates(
248 String groupId, String artifactId, String version, String classifier, String extension, String type) {
249 return null;
250 }
251
252 @Override
253 public ArtifactCoordinates createArtifactCoordinates(Artifact artifact) {
254 return null;
255 }
256
257 @Override
258 public DependencyCoordinates createDependencyCoordinates(ArtifactCoordinates artifactCoordinates) {
259 return null;
260 }
261
262 @Override
263 public DependencyCoordinates createDependencyCoordinates(Dependency dependency) {
264 return null;
265 }
266
267 @Override
268 public DownloadedArtifact resolveArtifact(Artifact artifact) {
269 return null;
270 }
271
272 @Override
273 public DownloadedArtifact resolveArtifact(ArtifactCoordinates coordinate) {
274 return null;
275 }
276
277 @Override
278 public DownloadedArtifact resolveArtifact(ArtifactCoordinates coordinates, List<RemoteRepository> repositories) {
279 return null;
280 }
281
282 @Override
283 public DownloadedArtifact resolveArtifact(Artifact artifact, List<RemoteRepository> repositories) {
284 return null;
285 }
286
287 @Override
288 public Collection<DownloadedArtifact> resolveArtifacts(ArtifactCoordinates... artifactCoordinates) {
289 return null;
290 }
291
292 @Override
293 public Collection<DownloadedArtifact> resolveArtifacts(Collection<? extends ArtifactCoordinates> collection) {
294 return null;
295 }
296
297 @Override
298 public Collection<DownloadedArtifact> resolveArtifacts(Artifact... artifacts) {
299 return null;
300 }
301
302 @Override
303 public Collection<DownloadedArtifact> resolveArtifacts(
304 Collection<? extends ArtifactCoordinates> coordinates, List<RemoteRepository> repositories) {
305 return null;
306 }
307
308 @Override
309 public List<Node> flattenDependencies(Node node, PathScope scope) {
310 return null;
311 }
312
313 @Override
314 public List<Path> resolveDependencies(DependencyCoordinates dependencyCoordinates) {
315 return null;
316 }
317
318 @Override
319 public List<Path> resolveDependencies(List<DependencyCoordinates> dependencyCoordinatess) {
320 return null;
321 }
322
323 @Override
324 public List<Path> resolveDependencies(Project project, PathScope scope) {
325 return null;
326 }
327
328 @Override
329 public Version resolveVersion(ArtifactCoordinates artifact) {
330 return null;
331 }
332
333 @Override
334 public List<Version> resolveVersionRange(ArtifactCoordinates artifact) {
335 return null;
336 }
337
338 @Override
339 public List<Version> resolveVersionRange(ArtifactCoordinates artifact, List<RemoteRepository> repositories) {
340 return null;
341 }
342
343 @Override
344 public void installArtifacts(ProducedArtifact... artifacts) {}
345
346 @Override
347 public void installArtifacts(Collection<ProducedArtifact> artifacts) {}
348
349 @Override
350 public void deployArtifact(RemoteRepository repository, ProducedArtifact... artifacts) {}
351
352 @Override
353 public void setArtifactPath(ProducedArtifact artifact, Path path) {}
354
355 @Override
356 public Optional<Path> getArtifactPath(Artifact artifact) {
357 return Optional.empty();
358 }
359
360 @Override
361 public boolean isVersionSnapshot(String version) {
362 return false;
363 }
364
365 @Override
366 public Node collectDependencies(Artifact artifact, PathScope scope) {
367 return null;
368 }
369
370 @Override
371 public Node collectDependencies(Project project, PathScope scope) {
372 return null;
373 }
374
375 @Override
376 public Node collectDependencies(DependencyCoordinates dependencyCoordinates, PathScope scope) {
377 return null;
378 }
379
380 @Override
381 public Path getPathForLocalArtifact(Artifact artifact) {
382 return null;
383 }
384
385 @Override
386 public Path getPathForRemoteArtifact(RemoteRepository remote, Artifact artifact) {
387 return null;
388 }
389
390 @Override
391 public Version parseVersion(String version) {
392 return null;
393 }
394
395 @Override
396 public VersionRange parseVersionRange(String versionRange) {
397 return null;
398 }
399
400 @Override
401 public VersionConstraint parseVersionConstraint(String s) {
402 return null;
403 }
404
405 @Override
406 public Map<PathType, List<Path>> resolveDependencies(
407 DependencyCoordinates dependencyCoordinates, PathScope scope, Collection<PathType> desiredTypes) {
408 return Map.of();
409 }
410
411 @Override
412 public Map<PathType, List<Path>> resolveDependencies(
413 Project project, PathScope scope, Collection<PathType> desiredTypes) {
414 return Map.of();
415 }
416
417 @Override
418 public Type requireType(String id) {
419 return null;
420 }
421
422 @Override
423 public Language requireLanguage(String id) {
424 return null;
425 }
426
427 @Override
428 public Packaging requirePackaging(String id) {
429 return null;
430 }
431
432 @Override
433 public ProjectScope requireProjectScope(String id) {
434 return null;
435 }
436
437 @Override
438 public DependencyScope requireDependencyScope(String id) {
439 return null;
440 }
441
442 @Override
443 public PathScope requirePathScope(String id) {
444 return null;
445 }
446 }