1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.project;
20
21 import java.util.Collections;
22 import java.util.LinkedHashSet;
23 import java.util.List;
24 import java.util.Set;
25
26 import org.apache.maven.execution.MavenSession;
27 import org.apache.maven.lifecycle.LifecycleExecutor;
28 import org.apache.maven.lifecycle.MavenExecutionPlan;
29 import org.apache.maven.model.Plugin;
30 import org.apache.maven.model.PluginExecution;
31 import org.apache.maven.plugin.MojoExecution;
32
33
34
35
36
37
38
39 public class EmptyLifecycleExecutor implements LifecycleExecutor {
40
41 public MavenExecutionPlan calculateExecutionPlan(MavenSession session, String... tasks) {
42 return new MavenExecutionPlan(null, null);
43 }
44
45 public MavenExecutionPlan calculateExecutionPlan(MavenSession session, boolean setup, String... tasks) {
46 return new MavenExecutionPlan(null, null);
47 }
48
49 public void execute(MavenSession session) {}
50
51 public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles(String packaging) {
52 Set<Plugin> plugins;
53
54
55 if ("JAR".equals(packaging)) {
56 plugins = new LinkedHashSet<>();
57
58 plugins.add(newPlugin("maven-compiler-plugin", "compile", "testCompile"));
59 plugins.add(newPlugin("maven-resources-plugin", "resources", "testResources"));
60 plugins.add(newPlugin("maven-surefire-plugin", "test"));
61 plugins.add(newPlugin("maven-jar-plugin", "jar"));
62 plugins.add(newPlugin("maven-install-plugin", "install"));
63 plugins.add(newPlugin("maven-deploy-plugin", "deploy"));
64 } else {
65 plugins = Collections.emptySet();
66 }
67
68 return plugins;
69 }
70
71 private Plugin newPlugin(String artifactId, String... goals) {
72 Plugin plugin = new Plugin();
73
74 plugin.setGroupId("org.apache.maven.plugins");
75 plugin.setArtifactId(artifactId);
76
77 for (String goal : goals) {
78 PluginExecution pluginExecution = new PluginExecution();
79 pluginExecution.setId("default-" + goal);
80 pluginExecution.setGoals(Collections.singletonList(goal));
81 plugin.addExecution(pluginExecution);
82 }
83
84 return plugin;
85 }
86
87 public void calculateForkedExecutions(MojoExecution mojoExecution, MavenSession session) {}
88
89 public List<MavenProject> executeForkedExecutions(MojoExecution mojoExecution, MavenSession session) {
90 return Collections.emptyList();
91 }
92 }