maven-plugin-tools/maven-plugin-tools-java/src/site/apt/index.apt

95 lines
3.0 KiB
Plaintext

------
Introduction
------
Vincent Siveton
Hervé Boutemy
------
2011-10-23
------
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements. See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership. The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License. You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied. See the License for the
~~ specific language governing permissions and limitations
~~ under the License.
~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/doxia/references/apt-format.html
Maven Plugin Tool for Java Annotated with Mojo Javadoc Tags
The Maven Plugin Tool for Java is the Java impl of {{{../maven-plugin-tools-api/index.html}maven-plugin-tools-api}}
to extract descriptors for plugins written in Java annotated with Mojo Javadoc Tags.
* Supported Mojo Javadoc Tags
+---------+
import org.apache.maven.plugin.AbstractMojo;
/**
* Mojo Description: goal is the only required annotation.
*
* @goal <goalName>
* @aggregator
* @configurator <roleHint>
* @execute phase="<phaseName>" lifecycle="<lifecycleId>" goal="<goalName>"
* @executionStrategy <once-per-session|always>
* @inheritByDefault <true|false>
* @instantiationStrategy <per-lookup|singleton|keep-alive|poolable>
* @phase <phaseName>
* @requiresDependencyResolution <compile|runtime|compile+runtime|test>
* @requiresDependencyCollection <compile|runtime|compile+runtime|test> (since Maven 3.0)
* @requiresDirectInvocation <false|true>
* @requiresOnline <false|true>
* @requiresProject <true|false>
* @requiresReports <false|true> (unsupported since Maven 3.0)
* @threadSafe (since Maven 3.0)
* @since <since-text>
* @deprecated <deprecated-text>
*/
public class MyMojo
extends AbstractMojo
{
/**
* @parameter alias="myAlias" implementation="" expression="aSystemProperty" default-value="${anExpression}"
* @readonly
* @required
* @since <since-text>
* @deprecated <deprecated-text>
*/
private String parameter;
/**
* @component role="..." roleHint="..."
* @since <since-text>
* @deprecated <deprecated-text>
*/
private Component component;
public void execute()
{
...
}
}
+---------+
<<Notice>>: before 3.0, <<<${ }>>> were required for <<<expression>>> value (<<<expression="${aSystemProperty}">>>),
but starting with 3.0, you can omit it (<<<expression="aSystemProperty">>>)
* See also
* {{{/developers/mojo-api-specification.html#The_Descriptor_and_Annotations}Mojo API Specification}}
* {{{/ref/current/maven-plugin-api/plugin.html}<<<META-INF/maven/plugin.xml>>> plugin descriptor}}