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 import org.apache.maven.plugin.descriptor.MojoDescriptor;
24 import org.apache.maven.plugin.descriptor.PluginDescriptor;
25
26
27
28
29 public class MojoNotFoundException extends Exception {
30 private String goal;
31
32 private PluginDescriptor pluginDescriptor;
33
34 public MojoNotFoundException(String goal, PluginDescriptor pluginDescriptor) {
35 super(toMessage(goal, pluginDescriptor));
36
37 this.goal = goal;
38 this.pluginDescriptor = pluginDescriptor;
39 }
40
41 public String getGoal() {
42 return goal;
43 }
44
45 public PluginDescriptor getPluginDescriptor() {
46 return pluginDescriptor;
47 }
48
49 private static String toMessage(String goal, PluginDescriptor pluginDescriptor) {
50 StringBuilder buffer = new StringBuilder(256);
51
52 buffer.append("Could not find goal '").append(goal).append('\'');
53
54 if (pluginDescriptor != null) {
55 buffer.append(" in plugin ").append(pluginDescriptor.getId());
56
57 buffer.append(" among available goals ");
58 List<MojoDescriptor> mojos = pluginDescriptor.getMojos();
59 if (mojos != null) {
60 for (Iterator<MojoDescriptor> it = mojos.iterator(); it.hasNext(); ) {
61 MojoDescriptor mojo = it.next();
62 if (mojo != null) {
63 buffer.append(mojo.getGoal());
64 }
65 if (it.hasNext()) {
66 buffer.append(", ");
67 }
68 }
69 }
70 }
71
72 return buffer.toString();
73 }
74 }