You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/09/14 17:09:29 UTC

svn commit: r814682 - /maven/maven-3/trunk/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java

Author: bentmann
Date: Mon Sep 14 15:09:29 2009
New Revision: 814682

URL: http://svn.apache.org/viewvc?rev=814682&view=rev
Log:
o Added missing error message

Modified:
    maven/maven-3/trunk/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java

Modified: maven/maven-3/trunk/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java?rev=814682&r1=814681&r2=814682&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java (original)
+++ maven/maven-3/trunk/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java Mon Sep 14 15:09:29 2009
@@ -1,5 +1,28 @@
 package org.apache.maven.plugin;
 
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
 
 public class MojoNotFoundException
@@ -11,8 +34,10 @@
         
     public MojoNotFoundException( String goal, PluginDescriptor pluginDescriptor )
     {
+        super( toMessage( goal, pluginDescriptor ) );
+
         this.goal = goal;
-        this.pluginDescriptor = pluginDescriptor;        
+        this.pluginDescriptor = pluginDescriptor;
     }
 
     public String getGoal()
@@ -24,4 +49,37 @@
     {
         return pluginDescriptor;
     }        
+
+    private static String toMessage( String goal, PluginDescriptor pluginDescriptor )
+    {
+        StringBuilder buffer = new StringBuilder( 256 );
+
+        buffer.append( "Could not find goal " ).append( goal );
+
+        if ( pluginDescriptor != null )
+        {
+            buffer.append( " in plugin " ).append( pluginDescriptor.getId() );
+
+            buffer.append( " among available goals " );
+            List<MojoDescriptor> mojos = pluginDescriptor.getMojos();
+            if ( mojos != null )
+            {
+                for ( Iterator<MojoDescriptor> it = mojos.iterator(); it.hasNext(); )
+                {
+                    MojoDescriptor mojo = it.next();
+                    if ( mojo != null )
+                    {
+                        buffer.append( mojo.getGoal() );
+                    }
+                    if ( it.hasNext() )
+                    {
+                        buffer.append( ", " );
+                    }
+                }
+            }
+        }
+
+        return buffer.toString();
+    }
+
 }