| ------ |
| 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 |
| |
| 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. |
| |
| * Supported javadoc annotations |
| |
| +---------+ |
| 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> |
| * @phase <phaseName> |
| * @requiresDependencyResolution <compile|runtime|compile+runtime|test> |
| * @requiresDependencyCollection <compile|runtime|compile+runtime|test> (since Maven 3.0) |
| * @requiresDirectInvocation <true|false> |
| * @requiresOnline <true|false> |
| * @requiresProject <true|false> |
| * @requiresReports <true|false> (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}" |
| * @component role="..." roleHint="..." |
| * @readonly |
| * @required |
| * @since <since-text> |
| * @deprecated <deprecated-text> |
| */ |
| private String parameter; |
| |
| public void execute() |
| { |
| ... |
| } |
| } |
| +---------+ |
| |
| * See also |
| |
| * {{{/developers/mojo-api-specification.html}Mojo API Specification}} |
| |
| * {{{/ref/current/maven-plugin-api/plugin.html}META-INF/maven/plugin.xml plugin descriptor}} |