From 6f2797b973da75176bbdfa31e96f01d4349feeaf Mon Sep 17 00:00:00 2001 From: Benjamin Bentmann Date: Mon, 14 Sep 2009 15:09:29 +0000 Subject: [PATCH] o Added missing error message git-svn-id: https://svn.apache.org/repos/asf/maven/maven-3/trunk@814682 13f79535-47bb-0310-9956-ffa450edef68 --- .../maven/plugin/MojoNotFoundException.java | 60 ++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java b/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java index c0a6c69e16..5ce79bc5a0 100644 --- a/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java +++ b/maven-plugin-api/src/main/java/org/apache/maven/plugin/MojoNotFoundException.java @@ -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 class MojoNotFoundException 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 @@ public class MojoNotFoundException { 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 mojos = pluginDescriptor.getMojos(); + if ( mojos != null ) + { + for ( Iterator it = mojos.iterator(); it.hasNext(); ) + { + MojoDescriptor mojo = it.next(); + if ( mojo != null ) + { + buffer.append( mojo.getGoal() ); + } + if ( it.hasNext() ) + { + buffer.append( ", " ); + } + } + } + } + + return buffer.toString(); + } + }