1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.artifact.buildinfo;
20
21 import java.util.Map;
22
23 import org.apache.maven.model.Plugin;
24 import org.apache.maven.project.MavenProject;
25 import org.codehaus.plexus.util.xml.Xpp3Dom;
26
27
28
29
30 class PluginUtil {
31 static boolean isSkip(MavenProject project) {
32 return isSkip(project, "install") || isSkip(project, "deploy");
33 }
34
35 private static boolean isSkip(MavenProject project, String id) {
36 Plugin plugin = getPlugin(project, "org.apache.maven.plugins:maven-" + id + "-plugin");
37 String skip = getPluginParameter(plugin, "skip");
38 if (skip == null) {
39 skip = project.getProperties().getProperty("maven." + id + ".skip");
40 }
41 return Boolean.valueOf(skip);
42 }
43
44 private static Plugin getPlugin(MavenProject project, String plugin) {
45 Map<String, Plugin> pluginsAsMap = project.getBuild().getPluginsAsMap();
46 Plugin result = pluginsAsMap.get(plugin);
47 if (result == null) {
48 pluginsAsMap = project.getPluginManagement().getPluginsAsMap();
49 result = pluginsAsMap.get(plugin);
50 }
51 return result;
52 }
53
54 private static String getPluginParameter(Plugin plugin, String parameter) {
55 if (plugin != null) {
56 Xpp3Dom pluginConf = (Xpp3Dom) plugin.getConfiguration();
57
58 if (pluginConf != null) {
59 Xpp3Dom target = pluginConf.getChild(parameter);
60
61 if (target != null) {
62 return target.getValue();
63 }
64 }
65 }
66
67 return null;
68 }
69 }