Logo Search packages:      
Sourcecode: maven2 version File versions  Download package

org::apache::maven::plugin::AbstractMojo Class Reference

Inheritance diagram for org::apache::maven::plugin::AbstractMojo:

org::apache::maven::plugin::Mojo org::apache::maven::plugin::ContextEnabled org::apache::maven::script::beanshell::BeanshellMojoAdapter

List of all members.

Detailed Description

Abstract class to provide most of the infrastructure required to implement a Mojo except for the execute method.
The implementation should have a goal annotation in the class-level javadoc annotation:
  * @goal goalName

There are also a number of class-level javadoc annotations which can be used to control how and when the Mojo is executed:

Descriptor Element Annotation Required? Notes
goal <goalName> Yes The name for the Mojo that users will reference from the command line to execute the Mojo directly, or inside a POM in order to provide Mojo-specific configuration.
implementation none (detected) Yes The Mojo's fully-qualified class name (or script path in the case of non-Java Mojos).
language none (detected) No. Default: java The implementation language for this Mojo (Java, beanshell, etc.).
configurator <roleHint> No The configurator type to use when injecting parameter values into this Mojo. The value is normally deduced from the Mojo's implementation language, but can be specified to allow a custom ComponentConfigurator implementation to be used.
NOTE: This will only be used in very special cases, using a highly controlled vocabulary of possible values. (Elements like this are why it's a good idea to use the descriptor tools.)
phase <phaseName> No Binds this Mojo to a particular phase of the standard build lifecycle, if specified.
NOTE: This is only required if this Mojo is to participate in the standard build process.
execute [phase=<phaseName>|goal=<goalName>] [lifecycle=<lifecycleId>] No When this goal is invoked, it will first invoke a parallel lifecycle, ending at the given phase. If a goal is provided instead of a phase, that goal will be executed in isolation. The execution of either will not affect the current project, but instead make available the ${executedProject} expression if required. An alternate lifecycle can also be provided: for more information see the documentation on the build lifecycle.
requiresDependencyResolution <requiredScope> No Flags this Mojo as requiring the dependencies in the specified scope (or an implied scope) to be resolved before it can execute.
NOTE: Currently supports compile, runtime, and test scopes.
description none (detected) No The description of this Mojo's functionality. Using the toolset, this will be the class-level Javadoc description provided.
NOTE: While this is not a required part of the Mojo specification, it SHOULD be provided to enable future tool support for browsing, etc. and for clarity.
parameters N/A No Specifications for the parameters which this Mojo uses will be provided in parameter sub-elements in this section.
NOTE: Parameters are discussed in more detail below.

See also:
Guide to Developing Java Plugins

Guide to Configuring Plug-ins

Mojo API Specification

Brett Porter


Vincent Siveton

AbstractMojo.java 495147 2007-01-11 07:47:53Z jvanzyl

Definition at line 144 of file AbstractMojo.java.

Public Member Functions

void execute () throws MojoExecutionException, MojoFailureException
Log getLog ()
Map getPluginContext ()
void setLog (Log log)
void setPluginContext (Map pluginContext)

Package Attributes

String ROLE = Mojo.class.getName()

Private Attributes

Log log
Map pluginContext

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index