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