| <!-- |
| 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/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://codehaus-plexus.github.io/MODELLO/2.0.0 https://codehaus-plexus.github.io/modello/xsd/modello-2.0.0.xsd" |
| xml.namespace="http://maven.apache.org/LIFECYCLE/${version}" |
| xml.schemaLocation="https://maven.apache.org/xsd/lifecycle-${version}.xsd"> |
| <id>lifecycle</id> |
| <name>Lifecycle</name> |
| <description> |
| Configuration of custom lifecycle mappings for the plugin, as generally stored in |
| {@code META-INF/maven/lifecycle.xml} in a plugin's jar artifact. |
| </description> |
| <classes> |
| <class rootElement="true" xml.tagName="lifecycles" xsd.compositor="sequence"> |
| <name>LifecycleConfiguration</name> |
| <version>1.0.0+</version> |
| <description>Root element of the {@code lifecycle.xml} file.</description> |
| <fields> |
| <field> |
| <name>lifecycles</name> |
| <version>1.0.0+</version> |
| <association xml.itemsStyle="flat"> |
| <type>Lifecycle</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| </fields> |
| </class> |
| <class> |
| <name>Lifecycle</name> |
| <version>1.0.0+</version> |
| <description>A custom lifecycle mapping definition.</description> |
| <fields> |
| <field> |
| <name>id</name> |
| <required>true</required> |
| <version>1.0.0+</version> |
| <type>String</type> |
| <description>The ID of this lifecycle, for identification in the mojo descriptor.</description> |
| </field> |
| <field> |
| <name>phases</name> |
| <version>1.0.0+</version> |
| <description>The phase mappings for this lifecycle.</description> |
| <association> |
| <type>Phase</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| </fields> |
| </class> |
| <class> |
| <name>Phase</name> |
| <version>1.0.0+</version> |
| <description>A phase mapping definition.</description> |
| <fields> |
| <field> |
| <name>id</name> |
| <required>true</required> |
| <version>1.0.0+</version> |
| <type>String</type> |
| <description>The ID of this phase, e.g., {@code generate-sources}.</description> |
| </field> |
| <field xml.attribute="true"> |
| <name>executionPoint</name> |
| <required>false</required> |
| <version>2.0.0+</version> |
| <type>String</type> |
| <defaultValue><![CDATA[]]></defaultValue> |
| <description><![CDATA[If specified, identifies this phase as a dynamic phase to decorate the specified phase id, e.g. {@code after} or {@code before}.]]></description> |
| </field> |
| <field xml.attribute="true"> |
| <name>priority</name> |
| <required>false</required> |
| <version>2.0.0+</version> |
| <type>int</type> |
| <defaultValue>0</defaultValue> |
| <description>If specified, identifies a within phase prioritization of executions.</description> |
| </field> |
| <field> |
| <name>executions</name> |
| <version>1.0.0+</version> |
| <description>The goals to execute within the phase.</description> |
| <association> |
| <type>Execution</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| <field> |
| <name>configuration</name> |
| <version>1.0.0+</version> |
| <type>DOM</type> |
| <description>Configuration to pass to all goals run in this phase.</description> |
| </field> |
| </fields> |
| <codeSegments> |
| <codeSegment> |
| <version>2.0.0+</version> |
| <code><![CDATA[ |
| /** |
| * Get the effective ID of this phase, e.g., |
| * {@code generate-sources} or {@code after:integration-test[1000]}. |
| * |
| * @return String |
| */ |
| public String getEffectiveId() { |
| if (executionPoint == null) { |
| if (priority == 0) { |
| return id; |
| } |
| return id + '[' + priority + ']'; |
| } |
| if (priority == 0) { |
| return executionPoint + ':' + id; |
| } |
| return executionPoint + ':' + id + '[' + priority + ']'; |
| } |
| ]]></code> |
| </codeSegment> |
| </codeSegments> |
| </class> |
| <class> |
| <name>Execution</name> |
| <version>1.0.0+</version> |
| <description>A set of goals to execute.</description> |
| <fields> |
| <field> |
| <name>configuration</name> |
| <version>1.0.0+</version> |
| <type>DOM</type> |
| <description>Configuration to pass to the goals.</description> |
| </field> |
| <field> |
| <name>goals</name> |
| <version>1.0.0+</version> |
| <description>The goals to execute.</description> |
| <association> |
| <type>String</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| </fields> |
| </class> |
| </classes> |
| </model> |