public abstract class AbstractMojo extends Object implements Mojo, ContextEnabled
Mojo
except for
the execute method.Mojo
annotation with the name of the goal:
@Mojo( name = "<goal-name>" )
There are also a number of attributes which can be used to control how and when the
Mojo
is executed:
Descriptor Element | Annotation | Required? | Notes |
---|---|---|---|
goal | name = "<goal-name>" | 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 | configurator = "<role-hint>" | 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 | defaultPhase = LifecyclePhase.<phase> | 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 | @Execute ( phase=LifecyclePhase.<phase>, goal= "<goal-name>", lifecycle="<lifecycle-id>" ) | 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 | requiresDependencyResolution = ResolutionScope.<scope> | 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. |
This is only a small set of all the options. A complete list can be found at Maven Plugin Tool for Annotations.
Constructor and Description |
---|
AbstractMojo() |
Modifier and Type | Method and Description |
---|---|
Log |
getLog()
Deprecated.
Use SLF4J directly
|
Map |
getPluginContext() |
void |
setLog(Log log)
Deprecated.
Use SLF4J directly
|
void |
setPluginContext(Map pluginContext)
Set a new shared context
Map to a mojo before executing it. |
@Deprecated public void setLog(Log log)
Mojo
Maven
logging mechanism to allow this Mojo
to communicate events
and feedback to the user.@Deprecated public Log getLog()
Returns the logger that has been injected into this mojo. If no logger has been setup yet, a
SystemStreamLog
logger will be created and returned.
getLog
in interface Mojo
"debug"
,
"info"
, "warn"
, and "error"
.Mojo.getLog()
public Map getPluginContext()
getPluginContext
in interface ContextEnabled
Map
stored in the plugin container's context.public void setPluginContext(Map pluginContext)
ContextEnabled
Map
to a mojo before executing it.setPluginContext
in interface ContextEnabled
pluginContext
- a new Map
Copyright © 2001–2022 The Apache Software Foundation. All rights reserved.