added plugin.xml plugin descriptor basic documentation

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-3/trunk@1185875 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Herve Boutemy 2011-10-18 21:29:52 +00:00
parent 47be798d5b
commit c887d57b02
4 changed files with 439 additions and 0 deletions

View File

@ -62,10 +62,20 @@ under the License.
<configuration>
<models>
<model>src/main/mdo/lifecycle.mdo</model>
<model>src/main/mdo/plugin.mdo</model>
</models>
<version>1.0.0</version>
</configuration>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>org/apache/maven/plugin/descriptor/model</exclude>
<exclude>org/apache/maven/plugin/descriptor/model/**/*</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,425 @@
<!--
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.
-->
<model xmlns="http://modello.codehaus.org/MODELLO/1.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://modello.codehaus.org/MODELLO/1.4.0 http://modello.codehaus.org/xsd/modello-1.4.0.xsd"
xml.namespace="http://maven.apache.org/PLUGIN/${version}"
xml.schemaLocation="http://maven.apache.org/xsd/plugin-${version}.xsd">
<id>plugin</id>
<name>PluginDescriptor</name>
<description><![CDATA[
Plugin descriptor, stored in <code>META-INF/maven/plugin.xml</code> in a plugin's jar artifact.
This descriptor is generally generated from plugin sources, using
<a href="/plugins/maven-plugin-plugin/">maven-plugin-plugin</a>.
]]></description>
<defaults>
<default>
<key>package</key>
<value>org.apache.maven.plugin.descriptor.model</value>
</default>
</defaults>
<classes>
<class rootElement="true" xml.tagName="plugin">
<name>PluginDescriptor</name>
<version>1.0.0</version>
<description><![CDATA[Root element of the <code>plugin.xml</code> file.]]></description>
<fields>
<field>
<name>description</name>
<version>1.0.0</version>
<description>Description of the plugin.</description>
<type>String</type>
</field>
<field>
<name>groupId</name>
<version>1.0.0</version>
<description></description>
<type>String</type>
</field>
<field>
<name>artifactId</name>
<version>1.0.0</version>
<description></description>
<type>String</type>
</field>
<field>
<name>version</name>
<version>1.0.0</version>
<description></description>
<type>String</type>
</field>
<field>
<name>goalPrefix</name>
<version>1.0.0</version>
<description></description>
<type>String</type>
</field>
<field>
<name>isolatedRealm</name>
<version>1.0.0</version>
<description></description>
<type>boolean</type>
<defaultValue>false</defaultValue>
</field>
<field>
<name>inheritedByDefault</name>
<version>1.0.0</version>
<description></description>
<type>boolean</type>
<defaultValue>true</defaultValue>
</field>
<field xdoc.separator="blank">
<name>mojos</name>
<version>1.0.0</version>
<association>
<type>MojoDescriptor</type>
<multiplicity>*</multiplicity>
</association>
</field>
</fields>
</class>
<class>
<name>MojoDescriptor</name>
<version>1.0.0</version>
<description><![CDATA[
A Mojo description.
]]></description>
<fields>
<field>
<name>goal</name>
<required>true</required>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>description</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>implementation</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>language</name>
<version>1.0.0</version>
<type>String</type>
<defaultValue>java</defaultValue>
<description></description>
</field>
<field>
<name>phase</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>executePhase</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>executeGoal</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>executeLifecycle</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>requiresDependencyResolution</name>
<version>1.0.0</version>
<type>String</type>
<description><![CDATA[
The scope of (transitive) dependencies that should be resolved:
<code>compile</code>, <code>runtime</code>, <code>test</code>, <code>provided</code>
]]></description>
</field>
<field>
<name>requiresDependencyCollection</name>
<version>1.0.0</version>
<type>String</type>
<description><![CDATA[
The scope of (transitive) dependencies that should be collected but not resolved:
<code>compile</code>, <code>runtime</code>, <code>test</code>, <code>provided</code>.
]]></description>
</field>
<field>
<name>requiresDirectInvocation</name>
<version>1.0.0</version>
<type>boolean</type>
<description></description>
</field>
<field>
<name>requiresProject</name>
<version>1.0.0</version>
<type>boolean</type>
<description></description>
<defaultValue>true</defaultValue>
</field>
<field>
<name>requiresReports</name>
<version>1.0.0</version>
<type>boolean</type>
<description></description>
</field>
<field>
<name>requiresOnline</name>
<version>1.0.0</version>
<type>boolean</type>
<description></description>
</field>
<field>
<name>aggregator</name>
<version>1.0.0</version>
<type>boolean</type>
<description></description>
</field>
<field>
<name>inheritedByDefault</name>
<version>1.0.0</version>
<type>boolean</type>
<description></description>
<defaultValue>true</defaultValue>
</field>
<field>
<name>threadSafe</name>
<version>1.0.0</version>
<type>boolean</type>
<description></description>
</field>
<field>
<name>instantiationStrategy</name>
<version>1.0.0</version>
<type>String</type>
<defaultValue>per-lookup</defaultValue>
<description>per-lookup</description>
</field>
<field>
<name>executionStrategy</name>
<version>1.0.0</version>
<type>String</type>
<description>once-per-session, always</description>
</field>
<field>
<name>since</name>
<version>1.0.0</version>
<type>String</type>
<description>the version when the Mojo was added to the API. Similar to Javadoc since.</description>
</field>
<field>
<name>deprecated</name>
<version>1.0.0</version>
<type>String</type>
<description>the version when the Mojo was deprecated to the API. Similar to Javadoc deprecated.</description>
</field>
<field>
<name>configurator</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>composer</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field xdoc.separator="blank">
<name>parameters</name>
<version>1.0.0</version>
<description></description>
<association>
<type>Parameter</type>
<multiplicity>*</multiplicity>
</association>
</field>
<field>
<name>configuration</name>
<version>1.0.0</version>
<description></description>
<association xml.tagName="paramName">
<type>Configuration</type>
<multiplicity>*</multiplicity>
</association>
</field>
<field xdoc.separator="blank">
<name>requirements</name>
<version>1.0.0</version>
<description></description>
<association>
<type>Requirement</type>
<multiplicity>*</multiplicity>
</association>
</field>
</fields>
</class>
<class>
<name>Parameter</name>
<version>1.0.0</version>
<description>A phase mapping definition.</description>
<fields>
<field>
<name>name</name>
<required>true</required>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>alias</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>type</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>required</name>
<version>1.0.0</version>
<type>boolean</type>
<description></description>
</field>
<field>
<name>editable</name>
<version>1.0.0</version>
<type>boolean</type>
<defaultValue>true</defaultValue>
<description></description>
</field>
<field>
<name>implementation</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>description</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>deprecated</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
</fields>
</class>
<class>
<name>Configuration</name>
<version>1.0.0</version>
<description>A parameter configuration.</description>
<fields>
<field xml.content="true">
<name>expression</name>
<required>true</required>
<version>1.0.0</version>
<type>String</type>
<description>Parameter expression.</description>
</field>
<field xml.attribute="true" xml.tagName="default-value">
<name>defaultValue</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
</fields>
</class>
<class>
<name>Requirement</name>
<version>1.0.0</version>
<description></description>
<fields>
<field>
<name>role</name>
<required>true</required>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field xml.tagName="role-hint">
<name>roleHint</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field xml.tagName="field-name">
<name>fieldName</name>
<required>true</required>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
</fields>
</class>
<class>
<name>Dependency</name>
<version>1.0.0</version>
<description></description>
<fields>
<field>
<name>groupId</name>
<required>true</required>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>artifactId</name>
<required>true</required>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>type</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
<field>
<name>version</name>
<version>1.0.0</version>
<type>String</type>
<description></description>
</field>
</fields>
</class>
</classes>
</model>

View File

@ -10,6 +10,9 @@ Maven Plugin API
The API for plugins - Mojos - development.
A plugin is described in a {{{./plugin.html}<<<META-INF/maven/plugin.xml>>> plugin descriptor}},
generally generated from plugin sources using {{{/plugins/maven-plugin-plugin/}maven-plugin-plugin}}.
* See Also
* {{{/developers/mojo-api-specification.html}Mojo API Specification}}

View File

@ -31,6 +31,7 @@
</menu>
<menu name="Reference">
<item name="lifecycle.xml" href="lifecycle-mappings.html"/>
<item name="plugin.xml" href="plugin.html"/>
</menu>
<menu ref="parent"/>