1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.lifecycle.providers.packaging;
20
21 import static java.util.Objects.requireNonNull;
22
23 import java.util.Collections;
24 import java.util.HashMap;
25 import javax.inject.Provider;
26 import org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping;
27 import org.apache.maven.lifecycle.mapping.Lifecycle;
28 import org.apache.maven.lifecycle.mapping.LifecycleMapping;
29 import org.apache.maven.lifecycle.mapping.LifecyclePhase;
30
31
32
33
34 public abstract class AbstractLifecycleMappingProvider implements Provider<LifecycleMapping> {
35 protected static final String RESOURCES_PLUGIN_VERSION = "3.2.0";
36
37 protected static final String COMPILER_PLUGIN_VERSION = "3.8.1";
38
39 protected static final String SUREFIRE_PLUGIN_VERSION = "3.0.0-M5";
40
41 protected static final String INSTALL_PLUGIN_VERSION = "3.0.0-M1";
42
43 protected static final String DEPLOY_PLUGIN_VERSION = "3.0.0-M2";
44
45
46
47 protected static final String JAR_PLUGIN_VERSION = "3.2.0";
48
49 protected static final String EAR_PLUGIN_VERSION = "3.1.2";
50
51 protected static final String EJB_PLUGIN_VERSION = "3.1.0";
52
53 protected static final String PLUGIN_PLUGIN_VERSION = "3.6.0";
54
55 protected static final String RAR_PLUGIN_VERSION = "2.4";
56
57 protected static final String WAR_PLUGIN_VERSION = "3.3.1";
58
59 private final LifecycleMapping lifecycleMapping;
60
61 protected AbstractLifecycleMappingProvider(String[] pluginBindings) {
62 requireNonNull(pluginBindings);
63 final int len = pluginBindings.length;
64 if (len < 2 || len % 2 != 0) {
65 throw new IllegalArgumentException("Plugin bindings must have more than 0, even count of elements");
66 }
67
68 HashMap<String, LifecyclePhase> lifecyclePhaseBindings = new HashMap<>(len / 2);
69 for (int i = 0; i < len; i = i + 2) {
70 lifecyclePhaseBindings.put(pluginBindings[i], new LifecyclePhase(pluginBindings[i + 1]));
71 }
72
73 Lifecycle lifecycle = new Lifecycle();
74 lifecycle.setId("default");
75 lifecycle.setLifecyclePhases(Collections.unmodifiableMap(lifecyclePhaseBindings));
76
77 this.lifecycleMapping = new DefaultLifecycleMapping(Collections.singletonList(lifecycle));
78 }
79
80 @Override
81 public LifecycleMapping get() {
82 return lifecycleMapping;
83 }
84 }