1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugin.resources.remote;
20
21 import javax.inject.Inject;
22
23 import java.util.LinkedHashSet;
24 import java.util.Set;
25
26 import org.apache.maven.artifact.Artifact;
27 import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
28 import org.apache.maven.plugins.annotations.LifecyclePhase;
29 import org.apache.maven.plugins.annotations.Mojo;
30 import org.apache.maven.plugins.annotations.ResolutionScope;
31 import org.apache.maven.project.MavenProject;
32 import org.apache.maven.project.ProjectBuilder;
33 import org.apache.maven.shared.filtering.MavenFileFilter;
34 import org.codehaus.plexus.resource.ResourceManager;
35 import org.eclipse.aether.RepositorySystem;
36
37
38
39
40
41
42
43
44
45
46
47
48
49 @Mojo(
50 name = "aggregate",
51 defaultPhase = LifecyclePhase.GENERATE_RESOURCES,
52 aggregator = true,
53 requiresDependencyResolution = ResolutionScope.TEST,
54 threadSafe = true)
55 public class AggregateProcessRemoteResourcesMojo extends AbstractProcessRemoteResourcesMojo {
56
57 @Inject
58 public AggregateProcessRemoteResourcesMojo(
59 RepositorySystem repoSystem,
60 MavenFileFilter fileFilter,
61 ResourceManager locator,
62 ProjectBuilder projectBuilder,
63 ArtifactHandlerManager artifactHandlerManager) {
64 super(repoSystem, fileFilter, locator, projectBuilder, artifactHandlerManager);
65 }
66
67 @Override
68 protected Set<Artifact> getAllDependencies() {
69 LinkedHashSet<Artifact> result = new LinkedHashSet<>();
70 for (MavenProject mavenProject : mavenSession.getProjects()) {
71 result.addAll(mavenProject.getArtifacts());
72 }
73 return result;
74 }
75
76 @Override
77 protected Set<Artifact> getDirectDependencies() {
78 LinkedHashSet<Artifact> result = new LinkedHashSet<>();
79 for (MavenProject mavenProject : mavenSession.getProjects()) {
80 result.addAll(mavenProject.getDependencyArtifacts());
81 }
82 return result;
83 }
84 }