blob: 49f8e2878f3d7af03a58b15d433a4a1f52c55df4 [file] [log] [blame]
<!--
~ 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.
-->
<!--
<pluginMetadata>
<mojos>
<mojo>
<goal>myGoal</goal>
<phase>compile</phase>
<requiresDependencyResolution>compile</requiresDependencyResolution>
<requiresProject>true</requiresProject>
<requiresReports>true</requiresReports>
<requiresOnline>true</requiresOnline>
<inheritByDefault>true</inheritByDefault>
<requiresDirectInvocation>true</requiresDirectInvocation>
<aggregator>true</aggregator>
<execute>
<phase>initialize</phase>
<lifecycle>mine</lifecycle>
<goal>goal</goal>
</execute>
<components>
<component>
<role>stuff</role>
<hint>more</hint>
</component>
</components>
<parameters>
<parameter>
<name>nom</name>
<property>prop</property>
<required>true</required>
<readonly>true</readonly>
<expression>${my.property}</expression>
<defaultValue>${project.artifactId}</defaultValue>
<type>org.apache.maven.project.MavenProject</type>
<alias>otherProp</alias>
<description>Test parameter</description>
<deprecated>Use something else</deprecated>
</parameter>
</parameters>
<description>
This is a test.
</description>
<deprecated>Use another mojo</deprecated>
</mojo>
</mojos>
</pluginMetadata>
-->
<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"
xsd.namespace="http://maven.apache.org/PLUGIN-METADATA/${version}"
xml.schemaLocation="http://maven.apache.org/xsd/plugin-metadata-${version}.xsd">
<id>plugin-metadata</id>
<name>PluginMetadata</name>
<description><![CDATA[
Plugin descriptor metadata for using with script-based mojos.
]]></description>
<defaults>
<default>
<key>package</key>
<value>org.apache.maven.plugin.tools.model</value>
</default>
</defaults>
<classes>
<class rootElement="true" xml.tagName="pluginMetadata">
<name>PluginMetadata</name>
<version>1.0.0+</version>
<description>Root element of a script-based mojo's plugin metadata bindings.</description>
<fields>
<field>
<name>mojos</name>
<version>1.0.0+</version>
<required>true</required>
<description>The list of mojos contained in the accompanying script.</description>
<association>
<type>Mojo</type>
<multiplicity>*</multiplicity>
</association>
</field>
</fields>
</class>
<class>
<name>Mojo</name>
<version>1.0.0+</version>
<description>Mojo descriptor definition.</description>
<fields>
<field>
<version>1.0.0+</version>
<name>goal</name>
<type>String</type>
<required>true</required>
<description>The name of the goal used to invoke this mojo.</description>
</field>
<field>
<version>1.0.0+</version>
<name>phase</name>
<type>String</type>
<description>The phase to which this mojo should be bound by default.</description>
</field>
<field>
<version>1.0.0+</version>
<name>aggregator</name>
<type>boolean</type>
<description>Whether this mojo operates as an aggregator when the reactor is run. That is, only runs once.
</description>
</field>
<field>
<version>1.0.0+</version>
<name>requiresDependencyResolution</name>
<type>String</type>
<description>The scope of dependencies that this mojo requires to have resolved.</description>
</field>
<field>
<version>1.0.0+</version>
<name>requiresProject</name>
<type>boolean</type>
<description>Whether this mojo requires a project instance in order to execute.</description>
</field>
<field>
<version>1.0.0+</version>
<name>requiresReports</name>
<type>boolean</type>
<description>Whether this mojo requires a reports section in the POM.</description>
</field>
<field>
<version>1.0.0+</version>
<name>requiresOnline</name>
<type>boolean</type>
<description>Whether this mojo requires online mode to operate normally.</description>
</field>
<field>
<version>1.0.0+</version>
<name>inheritByDefault</name>
<type>boolean</type>
<description>Whether this mojo's configuration should propagate down the POM inheritance chain by default.
</description>
</field>
<field>
<version>1.0.0+</version>
<name>requiresDirectInvocation</name>
<type>boolean</type>
<description>If true, this mojo can only be directly invoked (eg. specified directly on the command line).
</description>
</field>
<field>
<version>1.0.0+</version>
<name>execution</name>
<description>Information about a sub-execution of the Maven lifecycle which should be processed.</description>
<association>
<type>LifecycleExecution</type>
</association>
</field>
<field>
<version>1.0.0+</version>
<name>components</name>
<description>List of plexus components required by this mojo.</description>
<association>
<type>Component</type>
<multiplicity>*</multiplicity>
</association>
</field>
<field>
<version>1.0.0+</version>
<name>parameters</name>
<description>List of parameters used by this mojo.</description>
<association>
<type>Parameter</type>
<multiplicity>*</multiplicity>
</association>
</field>
<field>
<name>description</name>
<version>1.0.0+</version>
<description>The description for this parameter.</description>
<type>String</type>
</field>
<field xml.tagName="deprecated">
<name>deprecation</name>
<version>1.0.0+</version>
<description>A deprecation message for this mojo parameter.</description>
<type>String</type>
</field>
<field>
<version>1.1.0+</version>
<name>since</name>
<type>String</type>
<description>Version when the mojo was added to the API.</description>
</field>
<field>
<version>1.0.0+</version>
<name>call</name>
<type>String</type>
<description>The target/method within the script to call when this mojo executes.</description>
</field>
</fields>
</class>
<class>
<name>LifecycleExecution</name>
<version>1.0.0+</version>
<description><![CDATA[
A sub-process execution of a lifecycle to satisfy the needs of a mojo.
]]></description>
<fields>
<field>
<name>lifecycle</name>
<version>1.0.0+</version>
<type>String</type>
<description>The name of the overlay to apply to the sub-lifecycle before executing it. If specified, this
lifecycle overlay definition will be bundled with the plugin.
</description>
</field>
<field>
<name>phase</name>
<version>1.0.0+</version>
<description>The phase in the sub-lifecycle.</description>
<type>String</type>
</field>
<field>
<name>goal</name>
<version>1.0.0+</version>
<description>A goal, not attached to a lifecycle phase, which should be executed ahead of this mojo.
</description>
<type>String</type>
</field>
</fields>
</class>
<class>
<name>Component</name>
<version>1.0.0+</version>
<description><![CDATA[
A reference to a plexus component, assumed to be available to the plugin container.
]]></description>
<fields>
<field>
<name>role</name>
<version>1.0.0+</version>
<description>The component role to lookup.</description>
<required>true</required>
<type>String</type>
</field>
<field>
<name>hint</name>
<version>1.0.0+</version>
<type>String</type>
<description>The role-hint to lookup.</description>
</field>
</fields>
</class>
<class>
<name>Parameter</name>
<version>1.0.0+</version>
<description><![CDATA[
A parameter used by a mojo, and configurable from the command line or POM configuration sections.
]]></description>
<fields>
<field>
<name>name</name>
<version>1.0.0+</version>
<description>The parameter name</description>
<required>true</required>
<type>String</type>
</field>
<field>
<name>alias</name>
<version>1.0.0+</version>
<type>String</type>
<description>An alternate name for the parameter.</description>
</field>
<field>
<name>property</name>
<version>1.0.0+</version>
<type>String</type>
<description>The JavaBeans property name to use to configure the mojo with this parameter.</description>
</field>
<field>
<name>required</name>
<version>1.0.0+</version>
<type>boolean</type>
<description>Whether this parameter is required.</description>
</field>
<field>
<name>readonly</name>
<version>1.0.0+</version>
<type>boolean</type>
<description><![CDATA[
Whether this parameter can be directly edited. If false, this param is either derived from another POM element, or refers to a runtime instance of the build system.
]]></description>
</field>
<field>
<name>expression</name>
<version>1.0.0+</version>
<type>String</type>
<description><![CDATA[
The command-line reference to this parameter.
]]></description>
</field>
<field>
<name>defaultValue</name>
<version>1.0.0+</version>
<type>String</type>
<description><![CDATA[
An expression in the form ${instance.property} for extracting a value for this parameter, especially from
a runtime instance within the build system. (eg. ${project.build.directory} references
project.getBuild().getDirectory())
]]></description>
</field>
<field>
<name>type</name>
<version>1.0.0+</version>
<type>String</type>
<required>true</required>
<description><![CDATA[
The java type for this parameter.
]]></description>
</field>
<field>
<name>description</name>
<version>1.0.0+</version>
<description>The description for this parameter.</description>
<type>String</type>
</field>
<field xml.tagName="deprecated">
<name>deprecation</name>
<version>1.0.0+</version>
<description>A deprecation message for this mojo parameter.</description>
<type>String</type>
</field>
<field>
<version>1.1.0+</version>
<name>since</name>
<type>String</type>
<description>Version when the parameter was added.</description>
</field>
</fields>
</class>
</classes>
</model>