| <!-- |
| 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://codehaus-plexus.github.io/MODELLO/1.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://codehaus-plexus.github.io/MODELLO/1.4.0 http://codehaus-plexus.github.io/modello/xsd/modello-1.4.0.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>. |
| <p><i>Notice:</i> this documentation is generated from a Modello model but the code executed is not generated |
| from this descriptor. Please report if you find anything wrong.</p> |
| ]]></description> |
| <defaults> |
| <default> |
| <key>package</key> |
| <value>plugin descriptor XML documentation (no java generation)</value><!-- intentionally non-buildable 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> |
| <!-- see o.a.m.plugin.descriptor.PluginDescriptor --> |
| <fields> |
| <field> |
| <name>name</name> |
| <version>1.0.0</version> |
| <description>Name of the plugin.</description> |
| <type>String</type> |
| </field> |
| <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>The group id of the plugin.</description> |
| <type>String</type> |
| </field> |
| <field> |
| <name>artifactId</name> |
| <version>1.0.0</version> |
| <description>The artifact id of the plugin.</description> |
| <type>String</type> |
| </field> |
| <field> |
| <name>version</name> |
| <version>1.0.0</version> |
| <description>The version of the plugin.</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> |
| <description>Description of each Mojo provided by the plugin.</description> |
| </field> |
| <field xdoc.separator="blank"> |
| <name>dependencies</name> |
| <version>1.0.0</version> |
| <association> |
| <type>Dependency</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| <description> |
| A set of dependencies which the plugin requires in order to function. This enables the plugin to function |
| independently of its POM (or at least to declare the libraries it needs to run). |
| </description> |
| </field> |
| </fields> |
| </class> |
| |
| <class> |
| <name>MojoDescriptor</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| A Mojo description. |
| ]]></description> |
| <!-- see o.a.m.plugin.descriptor.MojoDescriptor --> |
| <fields> |
| <field> |
| <name>goal</name> |
| <required>true</required> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description> |
| The goal 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. |
| </description> |
| </field> |
| <field> |
| <name>description</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>The description of this Mojo's functionality.</description> |
| </field> |
| <field> |
| <name>implementation</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description> |
| The Mojo's fully-qualified class name (or script path in the case of non-Java Mojos). |
| </description> |
| </field> |
| <field> |
| <name>language</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <defaultValue>java</defaultValue> |
| <description>The implementation language for this Mojo (java, beanshell, etc.).</description> |
| </field> |
| <field> |
| <name>phase</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description><![CDATA[ |
| Defines a default phase to bind a mojo execution to if the user does not explicitly set a phase in the POM. |
| <i>Note:</i> This will not automagically make a mojo run when the plugin declaration is added |
| to the POM. It merely enables the user to omit the <code><phase></code> element from the |
| surrounding <code><execution></code> element. |
| ]]></description> |
| </field> |
| <field> |
| <name>executePhase</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>Reference the invocation phase of the Mojo.</description> |
| </field> |
| <field> |
| <name>executeGoal</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>Reference the invocation goal of the Mojo.</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> |
| <defaultValue>runtime</defaultValue> |
| <description><![CDATA[ |
| Flags this Mojo as requiring the dependencies in the specified class path to be resolved before it can |
| execute: <code>compile</code>, <code>runtime</code>, <code>test</code>, |
| <code>compile+runtime</code> (since Maven 3.0) or <code>runtime+system</code> (since Maven 3.0) |
| ]]></description> |
| </field> |
| <field> |
| <name>requiresDependencyCollection</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description><![CDATA[ |
| Flags this mojo as requiring information about the dependencies that would make up the specified class |
| path. As the name suggests, this is similar to requiresDependencyResolution and supports the same values. |
| The important difference is this will not resolve the files for the dependencies, i.e. the artifacts |
| associated with a Maven project can lack a file. As such, this annotation is meant for mojos that only |
| want to analyze the set of transitive dependencies, in particular during early lifecycle phases where |
| full dependency resolution might fail due to projects which haven't been built yet. |
| ]]></description> |
| </field> |
| <field> |
| <name>requiresDirectInvocation</name> |
| <version>1.0.0</version> |
| <type>boolean</type> |
| <description>Flags this Mojo to be invoked directly only.</description> |
| <defaultValue>false</defaultValue> |
| </field> |
| <field> |
| <name>requiresProject</name> |
| <version>1.0.0</version> |
| <type>boolean</type> |
| <description>Flags this Mojo to require running inside of a project.</description> |
| <defaultValue>true</defaultValue> |
| </field> |
| <field> |
| <name>requiresReports</name> |
| <version>1.0.0</version> |
| <type>boolean</type> |
| <description>Flags this Mojo to require running inside of a reports context. Unsupported since Maven 3.0.</description> |
| <defaultValue>false</defaultValue> |
| </field> |
| <field> |
| <name>requiresOnline</name> |
| <version>1.0.0</version> |
| <type>boolean</type> |
| <description>Flags this Mojo to require online mode for its operation.</description> |
| <defaultValue>false</defaultValue> |
| </field> |
| <field> |
| <name>aggregator</name> |
| <version>1.0.0</version> |
| <type>boolean</type> |
| <description> |
| Flags this Mojo to run it in a multi-module way, i.e. aggregate the build with the set of projects |
| listed as modules. |
| </description> |
| <defaultValue>false</defaultValue> |
| </field> |
| <field> |
| <name>inheritedByDefault</name> |
| <version>1.0.0</version> |
| <type>boolean</type> |
| <description>Specify that the Mojo is inherited.</description> |
| <defaultValue>true</defaultValue> |
| </field> |
| <field> |
| <name>threadSafe</name> |
| <version>1.0.0</version> |
| <type>boolean</type> |
| <description> |
| Marks this mojo as being thread-safe, i.e. the mojo safely supports concurrent execution during parallel |
| builds. Mojos without this annotation will make Maven output a warning when used during a parallel build |
| session. Since Maven 3.0. |
| </description> |
| <defaultValue>false</defaultValue> |
| </field> |
| <field> |
| <name>instantiationStrategy</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <defaultValue>per-lookup</defaultValue> |
| <description>Specify the instantiation strategy.</description> |
| </field> |
| <field> |
| <name>executionStrategy</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description><![CDATA[ |
| Specify the execution strategy: <code>once-per-session</code>, <code>always</code>. |
| ]]></description> |
| <defaultValue>once-per-session</defaultValue> |
| </field> |
| <field> |
| <name>since</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>Specify 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> |
| Specify the version when the Mojo was deprecated to the API. Similar to Javadoc deprecated. This will |
| trigger a warning when a user tries to configure a parameter marked as deprecated. |
| </description> |
| </field> |
| <field> |
| <name>configurator</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description> |
| 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. |
| </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> |
| <!-- see o.a.m.plugin.descriptor.Parameter --> |
| <fields> |
| <field> |
| <name>name</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <required>true</required> |
| <description> |
| The name of the parameter, to be used while configuring this parameter from the Mojo's declared defaults |
| or from the POM. |
| </description> |
| </field> |
| <field> |
| <name>alias</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description> |
| Specifies an alias which can be used to configure this parameter from the POM. |
| This is primarily useful to improve user-friendliness, where Mojo field names are not intuitive to the |
| user or are otherwise not conducive to configuration via the POM. |
| </description> |
| </field> |
| <field> |
| <name>type</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <required>true</required> |
| <description> |
| The Java type for this parameter. This is used to validate the result of any expressions used to calculate |
| the value which should be injected into the Mojo for this parameter. |
| </description> |
| </field> |
| <field> |
| <name>required</name> |
| <version>1.0.0</version> |
| <type>boolean</type> |
| <description> |
| Whether this parameter is required for the Mojo to function. This is used to validate the configuration |
| for a Mojo before it is injected, and before the Mojo is executed from some half-state. |
| </description> |
| </field> |
| <field> |
| <name>editable</name> |
| <version>1.0.0</version> |
| <type>boolean</type> |
| <defaultValue>true</defaultValue> |
| <description><![CDATA[ |
| Specifies that this parameter can be configured directly by the user (as in the case of POM-specified |
| configuration). This is useful when you want to force the user to use common POM elements rather than |
| plugin configurations, as in the case where you want to use the artifact's final name as a parameter. In |
| this case, you want the user to modify <code><build><finalName/></build></code> rather |
| than specifying a value for finalName directly in the plugin configuration section. It is also useful to |
| ensure that - for example - a List-typed parameter which expects items of type Artifact doesn't get a List |
| full of Strings. |
| ]]></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>The description of this parameter's use inside the Mojo.</description> |
| </field> |
| <field> |
| <name>since</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>Specify the version when the parameter was added to the API. Similar to Javadoc since.</description> |
| </field> |
| <field> |
| <name>deprecated</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description> |
| Specify the version when the parameter was deprecated to the API. Similar to Javadoc deprecated. |
| This will trigger a warning when a user tries to configure a parameter marked as deprecated. |
| </description> |
| </field> |
| </fields> |
| </class> |
| |
| <class> |
| <name>Configuration</name> |
| <version>1.0.0</version> |
| <description>A parameter configuration.</description> |
| <!-- see o.a.m.plugin.descriptor.Parameter --> |
| <fields> |
| <field xml.content="true"> |
| <name>expression</name> |
| <required>true</required> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>Parameter expression, to let user override default value with a system property, pom property or settings property.</description> |
| </field> |
| <field xml.attribute="true" xml.tagName="implementation"> |
| <name>implementation</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description></description> |
| </field> |
| <field xml.attribute="true" xml.tagName="default-value"> |
| <name>defaultValue</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>The default value, as an expression that will be evaluated at injection or run-time.</description> |
| </field> |
| </fields> |
| </class> |
| |
| <class> |
| <name>Requirement</name> |
| <version>1.0.0</version> |
| <description>Describes a component requirement.</description> |
| <!-- see o.a.m.plugin.descriptor.Requirement --> |
| <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>The field name which has this requirement.</description> |
| </field> |
| </fields> |
| </class> |
| |
| <class> |
| <name>Dependency</name> |
| <version>1.0.0</version> |
| <description>Definition of a dependency, needed by the plugin at runtime.</description> |
| <fields> |
| <field> |
| <name>groupId</name> |
| <required>true</required> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>The group id of the dependency.</description> |
| </field> |
| <field> |
| <name>artifactId</name> |
| <required>true</required> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>The artifact id of the dependency.</description> |
| </field> |
| <field> |
| <name>version</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>The version of the dependency.</description> |
| </field> |
| <field> |
| <name>type</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <defaultValue>jar</defaultValue> |
| <description>The type of dependency.</description> |
| </field> |
| </fields> |
| </class> |
| </classes> |
| </model> |