1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package com.github.maven_nar;
21
22 import java.util.List;
23
24 import org.apache.maven.artifact.Artifact;
25 import org.apache.maven.plugin.MojoExecutionException;
26 import org.apache.maven.plugin.MojoFailureException;
27 import org.apache.maven.plugins.annotations.LifecyclePhase;
28 import org.apache.maven.plugins.annotations.Mojo;
29 import org.apache.maven.plugins.annotations.Parameter;
30 import org.apache.maven.plugins.annotations.ResolutionScope;
31 import org.apache.maven.shared.artifact.filter.collection.ScopeFilter;
32
33
34
35
36
37
38
39
40 @Mojo(name = "nar-download-dependencies", defaultPhase = LifecyclePhase.GENERATE_SOURCES, requiresProject = true,
41 requiresDependencyResolution = ResolutionScope.TEST)
42 public class NarDownloadDependenciesMojo extends AbstractDependencyMojo {
43
44
45
46
47 @Parameter
48 private List tests;
49
50
51
52
53 @Override
54 protected ScopeFilter getArtifactScopeFilter() {
55 return new ScopeFilter( Artifact.SCOPE_TEST, null );
56 }
57
58 @Override
59 public void narExecute() throws MojoFailureException, MojoExecutionException {
60
61 final List<AttachedNarArtifact> attachedNarArtifacts = getAttachedNarArtifacts(libraries);
62 attachedNarArtifacts.addAll( getAttachedNarArtifacts(tests) );
63 downloadAttachedNars(attachedNarArtifacts);
64 }
65
66 }