diff --git a/maven-plugins/maven-clean-plugin/src/main/java/org/apache/maven/plugin/CleanPlugin.java b/maven-plugins/maven-clean-plugin/src/main/java/org/apache/maven/plugin/CleanPlugin.java index b6b74f766c..d56d72559c 100644 --- a/maven-plugins/maven-clean-plugin/src/main/java/org/apache/maven/plugin/CleanPlugin.java +++ b/maven-plugins/maven-clean-plugin/src/main/java/org/apache/maven/plugin/CleanPlugin.java @@ -19,16 +19,19 @@ package org.apache.maven.plugin; import java.io.File; /** - * @author Emmanuel Venisse - * @version $Id$ * @maven.plugin.id clean * @maven.plugin.description A maven2 plugin which cleans the build + * * @parameter failedOnError String true validator description * @parameter outputDirectory String true validator description - * @goal.name clean - * @goal.clean.description Goal which cleans the build - * @goal.clean.parameter failedOnError false - * @goal.clean.parameter outputDirectory #maven.build.dir + * + * @goal clean + * @goal.description Goal which cleans the build + * @goal.parameter failedOnError false + * @goal.parameter outputDirectory #project.build.directory + * + * @author Emmanuel Venisse + * @version $Id$ */ public class CleanPlugin extends AbstractPlugin diff --git a/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerPlugin.java b/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerPlugin.java deleted file mode 100644 index d81b7242cc..0000000000 --- a/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerPlugin.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.apache.maven.plugin; - -import org.codehaus.plexus.compiler.Compiler; -import org.codehaus.plexus.compiler.CompilerError; -import org.codehaus.plexus.compiler.javac.JavacCompiler; - -import java.io.File; -import java.util.Iterator; -import java.util.List; - -/** - * @maven.plugin.id compiler - * @maven.plugin.description A maven2 plugin compiles project sources. - * - * @parameter sourceDirectory String required validator - * @parameter outputDirectory String required validator - * @parameter classpathElements String[] required validator - * @parameter compiler String required validator - * - * @goal.name compile - * @goal.compile.description Compiles application sources - * @goal.compile.parameter sourceDirectory #project.build.sourceDirectory - * @goal.compile.parameter outputDirectory #maven.build.dest - * @goal.compile.parameter classpathElements #project.classpathElements - * - * @goal.name test:compile - * @goal.test:compile.prereq compile - * @goal.test:compile.description Compiles test sources - * @goal.test:compile.parameter sourceDirectory #project.build.unitTestSourceDirectory - * @goal.test:compile.parameter outputDirectory #maven.test.dest - * @goal.test:compile.parameter classpathElements #project.classpathElements - * - * There could be threadsafe and non threadsafe versions of a compiler - * plugin. The case where you instantiate a compiler plugin that maintains - * a reference to an incremental compiler. - * - * @author Jason van Zyl - * @version $Id$ - * @todo make a plugin for each plugin type so that they are not all globbed in here - * this will remove the magic plexus does with Map requirements which will make - * reuse outside of the maven/plexus context easier - * @todo use compile source roots and not the pom.build.sourceDirectory so that any - * sort of preprocessing and/or source generation can be taken into consideration. - */ - -public class CompilerPlugin - extends AbstractPlugin -{ - private Compiler compiler = new JavacCompiler(); - - private boolean debug = false; - - public void execute( PluginExecutionRequest request, PluginExecutionResponse response ) - throws Exception - { - // ---------------------------------------------------------------------- - // - // ---------------------------------------------------------------------- - - String sourceDirectory = (String) request.getParameter( "sourceDirectory" ); - - String outputDirectory = (String) request.getParameter( "outputDirectory" ); - - String[] classpathElements = (String[]) request.getParameter( "classpathElements" ); - - String compilerId = (String) request.getParameter( "compiler" ); - - // ---------------------------------------------------------------------- - // - // ---------------------------------------------------------------------- - - if ( ! new File( sourceDirectory ).exists() ) - { - return; - } - - List messages = compiler.compile( classpathElements, new String[]{sourceDirectory}, outputDirectory ); - - if ( debug ) - { - for ( int i = 0; i < classpathElements.length; i++ ) - { - String message; - - if ( new File( classpathElements[i] ).exists() ) - { - message = "present in repository."; - } - else - { - message = "Warning! not present in repository!"; - } - - System.out.println( "classpathElements[ "+ i +" ] = " + classpathElements[i] + ": " + message ); - } - } - - boolean compilationError = false; - - for ( Iterator i = messages.iterator(); i.hasNext(); ) - { - CompilerError message = (CompilerError) i.next(); - - if ( message.isError() ) - { - compilationError = true; - } - - System.out.println( message.getMessage() ); - } - - if ( compilationError ) - { - throw new Exception( "Compilation failure!" ); - } - } -} diff --git a/maven-plugins/maven-jar-plugin/src/main/java/org/apache/maven/plugin/jar/JarInstallMojo.java b/maven-plugins/maven-jar-plugin/src/main/java/org/apache/maven/plugin/jar/JarInstallMojo.java index 62f0925db8..f7d9b4f184 100644 --- a/maven-plugins/maven-jar-plugin/src/main/java/org/apache/maven/plugin/jar/JarInstallMojo.java +++ b/maven-plugins/maven-jar-plugin/src/main/java/org/apache/maven/plugin/jar/JarInstallMojo.java @@ -39,18 +39,18 @@ import java.io.File; * @parameter localRepository String true validator description * @parameter pomFile java.io.File true validator description * * - * @goal.name jar:install - * @goal.jar:install.description install a jar in local repository + * @goal jar:install + * @goal.description install a jar in local repository * - * @goal.jar:install.prereq jar - * @goal.jar:install.parameter jarName #maven.final.name - * @goal.jar:install.parameter outputDirectory #maven.build.dir - * @goal.jar:install.parameter basedir #maven.build.dest - * @goal.jar:install.parameter pomFile #project.file - * @goal.jar:install.parameter groupId #project.groupId - * @goal.jar:install.parameter artifactId #project.artifactId - * @goal.jar:install.parameter version #project.version - * @goal.jar:install.parameter localRepository #project.localRepository + * @goal.prereq jar + * @goal.parameter jarName #maven.final.name + * @goal.parameter outputDirectory #project.build.directory + * @goal.parameter basedir #project.build.directory/classes + * @goal.parameter pomFile #project.file + * @goal.parameter groupId #project.groupId + * @goal.parameter artifactId #project.artifactId + * @goal.parameter version #project.version + * @goal.parameter localRepository #project.localRepository */ public class JarInstallMojo extends AbstractPlugin diff --git a/maven-plugins/maven-jar-plugin/src/main/java/org/apache/maven/plugin/jar/JarMojo.java b/maven-plugins/maven-jar-plugin/src/main/java/org/apache/maven/plugin/jar/JarMojo.java index ed74c86d09..eb557b4e0c 100644 --- a/maven-plugins/maven-jar-plugin/src/main/java/org/apache/maven/plugin/jar/JarMojo.java +++ b/maven-plugins/maven-jar-plugin/src/main/java/org/apache/maven/plugin/jar/JarMojo.java @@ -38,13 +38,13 @@ import java.util.jar.Manifest; * @parameter outputDirectory String true validator description * @parameter basedir String true validator description * - * @goal.name jar - * @goal.jar.description build a jar - * @goal.jar.prereq test - * @goal.jar.prereq resources - * @goal.jar.parameter jarName #maven.final.name - * @goal.jar.parameter outputDirectory #maven.build.dir - * @goal.jar.parameter basedir #maven.build.dest + * @goal jar + * @goal.description build a jar + * @goal.prereq test + * @goal.prereq resources + * @goal.parameter jarName #maven.final.name + * @goal.parameter outputDirectory #project.build.directory + * @goal.parameter basedir #project.build.directory/classes * * @author Michal Maczka * @version $Id$ diff --git a/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGenerator.java b/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGenerator.java index 45d1576a1d..7ad2a1a7c5 100644 --- a/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGenerator.java +++ b/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGenerator.java @@ -10,11 +10,11 @@ import org.apache.maven.plugin.generator.PluginDescriptorGenerator; * @parameter outputDirectory String true validator description * @parameter pom String true validator description * - * @goal.name descriptor - * @goal.descriptor.description Goal for generating a plugin descriptor. - * @goal.descriptor.parameter sourceDirectory #project.build.sourceDirectory - * @goal.descriptor.parameter outputDirectory #maven.build.dest/META-INF/maven - * @goal.descriptor.parameter pom #project.getFile().getPath() + * @goal descriptor + * @goal.description Goal for generating a plugin descriptor. + * @goal.parameter sourceDirectory #project.build.sourceDirectory + * @goal.parameter outputDirectory #project.build.directory/classes/META-INF/maven + * @goal.parameter pom #project.getFile().getPath() * @author Jason van Zyl * @version $Id$ diff --git a/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/ResourcesPlugin.java b/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/ResourcesMojo.java similarity index 94% rename from maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/ResourcesPlugin.java rename to maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/ResourcesMojo.java index 296d5fc148..52439d7f63 100644 --- a/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/ResourcesPlugin.java +++ b/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/ResourcesMojo.java @@ -74,15 +74,10 @@ import java.util.List; * @parameter outputDirectory String true validator description * @parameter resources List true validator description * - * @goal.name resources - * @goal.resources.description copy application resources - * @goal.resources.parameter outputDirectory #maven.build.dest - * @goal.resources.parameter resources #project.build.resources - * - * @goal.name test:resources - * @goal.test:resources.description copy test resources - * @goal.test:resources.parameter outputDirectory #maven.test.dest - * @goal.test:resources.parameter resources #project.build.unitTest.resources + * @goal resources + * @goal.description copy application resources + * @goal.parameter outputDirectory #project.build.directory/classes + * @goal.parameter resources #project.build.resources * * @author Michal Maczka * @author Jason van Zyl @@ -90,7 +85,7 @@ import java.util.List; * @version $Id$ * */ -public class ResourcesPlugin +public class ResourcesMojo extends AbstractPlugin { public void execute( PluginExecutionRequest request, PluginExecutionResponse response ) diff --git a/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/TestResourcesMojo.java b/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/TestResourcesMojo.java new file mode 100644 index 0000000000..fa75ec70bb --- /dev/null +++ b/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/TestResourcesMojo.java @@ -0,0 +1,91 @@ +package org.apache.maven.plugin; + +/* ==================================================================== + * The Apache Software License, Version 1.1 + * + * Copyright (c) 2001 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, + * if any, must include the following acknowledgment: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowledgment may appear in the software itself, + * if and wherever such third-party acknowledgments normally appear. + * + * 4. The names "Apache" and "Apache Software Foundation" and + * "Apache Maven" must not be used to endorse or promote products + * derived from this software without prior written permission. For + * written permission, please contact apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache", + * "Apache Maven", nor may "Apache" appear in their name, without + * prior written permission of the Apache Software Foundation. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * . + * + * ==================================================================== + */ + +import org.apache.maven.model.Resource; +import org.codehaus.plexus.util.FileUtils; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * @maven.plugin.id resources + * @maven.plugin.description Maven plugin to build jars + * + * @parameter outputDirectory String true validator description + * @parameter resources List true validator description + * + * @goal test:resources + * @goal.description copy test resources + * @goal.parameter outputDirectory #project.build.directory/test-classes + * @goal.parameter resources #project.build.unitTest.resources + * + * @author Michal Maczka + * @author Jason van Zyl + * + * @version $Id$ + * + */ +public class TestResourcesMojo + extends ResourcesMojo +{ +} diff --git a/maven-plugins/maven-surefire-plugin/src/main/java/org/apache/maven/test/SurefirePlugin.java b/maven-plugins/maven-surefire-plugin/src/main/java/org/apache/maven/test/SurefirePlugin.java index 8229980085..3ab4fe5bd8 100644 --- a/maven-plugins/maven-surefire-plugin/src/main/java/org/apache/maven/test/SurefirePlugin.java +++ b/maven-plugins/maven-surefire-plugin/src/main/java/org/apache/maven/test/SurefirePlugin.java @@ -18,18 +18,18 @@ import java.util.List; * @parameter excludes String required validator * @parameter classpathElements String[] required validator * - * @goal.name test - * @goal.test.description Run tests using surefire + * @goal test + * @goal.description Run tests using surefire * - * @goal.test.prereq test:compile - * @goal.test.prereq resources - * @goal.test.prereq test:resources + * @goal.prereq test:compile + * @goal.prereq resources + * @goal.prereq test:resources * - * @goal.test.parameter mavenRepoLocal #maven.repo.local - * @goal.test.parameter basedir #basedir - * @goal.test.parameter includes #project.build.unitTest.includes - * @goal.test.parameter excludes #project.build.unitTest.excludes - * @goal.test.parameter classpathElements #project.classpathElements + * @goal.parameter mavenRepoLocal #maven.repo.local + * @goal.parameter basedir #basedir + * @goal.parameter includes #project.build.unitTest.includes + * @goal.parameter excludes #project.build.unitTest.excludes + * @goal.parameter classpathElements #project.classpathElements * @author Jason van Zyl * @version $Id$