diff --git a/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/PluginFailureResponse.java b/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/PluginFailureResponse.java new file mode 100644 index 0000000000..487836b7b4 --- /dev/null +++ b/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/PluginFailureResponse.java @@ -0,0 +1,30 @@ +package org.apache.maven.plugin.plugin; + +import org.apache.maven.plugin.FailureResponse; + +/** + * @author Emmanuel Venisse + * @version $Id$ + */ +public class PluginFailureResponse + extends FailureResponse +{ + private String LS = System.getProperty( "line.separator" ); + + private String message; + + public PluginFailureResponse( Object o ) + { + super( o ); + } + + public String shortMessage() + { + return (String) source; + } + + public String longMessage() + { + return shortMessage(); + } +} diff --git a/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/PluginInstallMojo.java b/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/PluginInstallMojo.java index 3fe1a1891f..1c8e23903d 100644 --- a/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/PluginInstallMojo.java +++ b/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/PluginInstallMojo.java @@ -50,6 +50,13 @@ public void execute( PluginExecutionRequest request, PluginExecutionResponse res ArtifactRepository localRepository = (ArtifactRepository) request.getParameter( "localRepository" ); + if ( ! "plugin".equals( project.getType() ) ) + { + response.setExecutionFailure( true, new PluginFailureResponse( "This project isn't a plugin." ) ); + + return; + } + Artifact artifact = new DefaultArtifact( project.getGroupId(), project.getArtifactId(), project.getVersion(),