1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugin;
20
21 import java.util.Iterator;
22 import java.util.List;
23
24 import org.apache.maven.plugin.descriptor.MojoDescriptor;
25 import org.apache.maven.plugin.descriptor.PluginDescriptor;
26
27
28
29
30 public class MojoNotFoundException extends Exception {
31 private String goal;
32
33 private PluginDescriptor pluginDescriptor;
34
35 public MojoNotFoundException(String goal, PluginDescriptor pluginDescriptor) {
36 super(toMessage(goal, pluginDescriptor));
37
38 this.goal = goal;
39 this.pluginDescriptor = pluginDescriptor;
40 }
41
42 public String getGoal() {
43 return goal;
44 }
45
46 public PluginDescriptor getPluginDescriptor() {
47 return pluginDescriptor;
48 }
49
50 private static String toMessage(String goal, PluginDescriptor pluginDescriptor) {
51 StringBuilder buffer = new StringBuilder(256);
52
53 buffer.append("Could not find goal '").append(goal).append('\'');
54
55 if (pluginDescriptor != null) {
56 buffer.append(" in plugin ").append(pluginDescriptor.getId());
57
58 buffer.append(" among available goals ");
59 List<MojoDescriptor> mojos = pluginDescriptor.getMojos();
60 if (mojos != null) {
61 for (Iterator<MojoDescriptor> it = mojos.iterator(); it.hasNext(); ) {
62 MojoDescriptor mojo = it.next();
63 if (mojo != null) {
64 buffer.append(mojo.getGoal());
65 }
66 if (it.hasNext()) {
67 buffer.append(", ");
68 }
69 }
70 }
71 }
72
73 return buffer.toString();
74 }
75 }