Maestro Plugins

Maven, by design, is a plug-in execution framework. Plugins are used to accomplish a goal or many goals. They can be used for such things as lifecycle management, packaging, and reporting.

Maestro comes with approximately 38 pre-configured plugins. A comprehensive, detailed list of the available plugins can be found at http://maven.apache.org/plugins/. There are also many plugins available at the Mojo project at Codehaus. To see the most up-to-date list, browse the Codehaus repository at http://repository.codehaus.org/, specifically the org/codehaus/mojo sub-folder. In addition, there are a few other projects that provide pre-configured Maven 2 plugins as shown below.

Core Plugins

Plugins corresponding to default core phases (i.e., clean, compile). They may have multiple goals as well.

Plugin Version Description
clean 2.4 Cleanup after the build.
compiler 2.1 Compiles Java sources.
deploy 2.5 Deploy the built artifact to the remote repository.
install 2.2 Install the built artifact into the local repository.
resources 2.3 Copy the resources to the output directory for including in the JAR.
site 2.0 Generate a site for the current project.
surefire 2.5 Run the Junit tests in an isolated classloader.

Packaging Types/Tools

These plugins relate to packaging respective artifact types.

Plugin Version Description
ear 2.3.1 Generate an EAR from the current project.
ejb 2.1 Build an EJB (and optional client) from the current project.
jar 2.2 Build a JAR from the current project.
rar 2.2 Build a RAR from the current project.
war 2.0.2 Build a WAR from the current project.

Reporting

Plugins which generate reports, are configured as reports in the POM and run under the site generation lifecycle.

Plugin Version Description
checkstyle 2.1 Generate a checkstyle report.
clover 2.4 Generate a Clover report.
javadoc 2.5 Generate Javadoc for the project.
jxr 2.1 Generate a source cross reference.
pmd 2.2 Generate a PMD report.
project-info-reports 2.1.2 Generate standard project reports.
surefire-report 2.5 Generate a report based on the results of unit tests.

Tools

These are miscellaneous tools available through Maven by default.

Plugin Version Description
antrun 1.3 Run a set of ant tasks from a phase of the build.
archetype 2.0-alpha-3 Generate a skeleton project structure from an archetype.
assembly 2.2-beta-5 Build an assembly (distribution) of sources and binaries.
dependency 2.0 Dependency manipulation.
enforcer 1.0-beta-1 Environmental constraint checking (Maven Version, JDK, etc.), User Custom Rule Execution.
help 2.0.2 Get information about the working environment for the project.
plugin 2.4.3 Create a Maven plugin descriptor for any Mojo's found in the source tree, to include in the JAR.
release 2.0-beta-8 Release the current project - updating the POM and tagging in the SCM.
repository 2.0 Plugin to help with repository-based tasks.
scm 1.1 Generate a SCM for the current project.
source 2.0.4 Build a JAR of sources for use in IDEs and distribution to the repository.
stage 1.0-alpha-1 Assists with release staging and promotion.

IDEs

Plugins that simplify integration with integrated developer environments.

Plugin Version Description
eclipse 2.3 Generate an Eclipse project file for the current project.
idea 2.0 Create/update an IDEA workspace for the current project (individual modules are created as IDEA modules).

Mojo Project

Plugins developed by Maven developers and other developers not associated with the Maven project.

Plugin Version Description
taglist 2.0 Generate a list of tasks based on tags in your code.
build-helper 1.0 For adding more source directories and test source directories to the POM and for attaching additional artifacts to be installed and deployed.
cobertura 2.2 For instrumenting, testing, and generating Cobertura reports.
commons-attributes 1.0 commons-attributes enables programmers to use C# and .Net attributes in their code. The maven plugins for commons-attributes allows for compiling and testing commons-attributes code.
exec 1.1.1-r7368-maestro-2.0.0 A plugin for executing external programs.
Eclipse IAM 0.9.0 A plugin that allows for Maven functionalities to be run within the Eclipse IDE.
NPanday 1.1-maestro-[version] A set of plugins to enable Visual Studio to build Maven code and generate .NET binary files.