1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.jar;
20
21 import javax.inject.Inject;
22
23 import java.io.File;
24 import java.util.Map;
25
26 import org.apache.maven.execution.MavenSession;
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.project.MavenProject;
32 import org.apache.maven.project.MavenProjectHelper;
33 import org.apache.maven.toolchain.ToolchainManager;
34 import org.codehaus.plexus.archiver.Archiver;
35
36
37
38
39
40
41
42 @Mojo(
43 name = "jar",
44 defaultPhase = LifecyclePhase.PACKAGE,
45 requiresProject = true,
46 threadSafe = true,
47 requiresDependencyResolution = ResolutionScope.RUNTIME)
48 public class JarMojo extends AbstractJarMojo {
49
50
51
52 @Parameter(defaultValue = "${project.build.outputDirectory}", required = true)
53 private File classesDirectory;
54
55
56
57
58
59
60
61 @Parameter
62 private String classifier;
63
64 @Inject
65 JarMojo(
66 MavenProject project,
67 MavenSession session,
68 ToolchainsJdkSpecification toolchainsJdkSpecification,
69 ToolchainManager toolchainManager,
70 Map<String, Archiver> archivers,
71 MavenProjectHelper projectHelper) {
72 super(project, session, toolchainsJdkSpecification, toolchainManager, archivers, projectHelper);
73 }
74
75
76
77
78 @Override
79 protected String getClassifier() {
80 return classifier;
81 }
82
83
84
85
86 @Override
87 protected String getType() {
88 return "jar";
89 }
90
91
92
93
94 @Override
95 protected File getClassesDirectory() {
96 return classesDirectory;
97 }
98 }