| <!-- |
| 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.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://modello.codehaus.org/MODELLO/1.0.0 http://modello.codehaus.org/xsd/modello-1.0.0.xsd" |
| xml.namespace="http://maven.apache.org/PROFILES/${version}" |
| xml.schemaLocation="http://maven.apache.org/xsd/profiles-${version}.xsd"> |
| <id>profiles</id> |
| <name>Profiles</name> |
| <description><![CDATA[ |
| Project-local overrides to the build process based on detected or user-provided environmental parameters. |
| This is the model specification for ${basedir}/profiles.xml. |
| ]]></description> |
| <defaults> |
| <default> |
| <key>package</key> |
| <value>org.apache.maven.profiles</value> |
| </default> |
| </defaults> |
| <classes> |
| <class rootElement="true" xml.tagName="profilesXml"> |
| <name>ProfilesRoot</name> |
| <version>1.0.0</version> |
| <description>Root element of the profiles.xml file.</description> |
| <fields> |
| <field> |
| <name>profiles</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| Configuration of build profiles for adjusting the build |
| according to environmental parameters |
| ]]></description> |
| <association> |
| <type>Profile</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| <field> |
| <name>activeProfiles</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| List of manually-activated build profiles, specified in the order in which |
| they should be applied. |
| ]]></description> |
| <association> |
| <type>String</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| </fields> |
| </class> |
| <class> |
| <name>Profile</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| Modifications to the build process which is keyed on some |
| sort of environmental parameter. |
| ]]></description> |
| <fields> |
| <field> |
| <name>id</name> |
| <required>true</required> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>The ID of this build profile, for activation |
| purposes.</description> |
| </field> |
| <field> |
| <name>activation</name> |
| <version>1.0.0</version> |
| <description><![CDATA[The conditional logic which will automatically |
| trigger the inclusion of this profile.]]></description> |
| <association> |
| <type>Activation</type> |
| </association> |
| </field> |
| <field> |
| <name>properties</name> |
| <description>Extended configuration specific to this profile goes |
| here.</description> |
| <type>Properties</type> |
| <association xml.mapStyle="inline"> |
| <type>String</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| <field> |
| <name>repositories</name> |
| <version>1.0.0</version> |
| <description><![CDATA[The lists of the remote repositories]]> |
| </description> |
| <association> |
| <type>Repository</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| </field> |
| <field> |
| <name>pluginRepositories</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| The lists of the remote repositories for discovering plugins |
| ]]></description> |
| <association> |
| <type>Repository</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| <comment><![CDATA[ This may be removed or relocated in the near |
| future. It is undecided whether plugins really need a remote |
| repository set of their own. ]]></comment> |
| </field> |
| </fields> |
| </class> |
| <class> |
| <name>Activation</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| The conditions within the build runtime environment which will trigger |
| the automatic inclusion of the parent build profile. |
| ]]></description> |
| <fields> |
| <field> |
| <name>activeByDefault</name> |
| <version>1.0.0</version> |
| <type>boolean</type> |
| <description>Flag specifying whether this profile is active as a default.</description> |
| </field> |
| <field> |
| <name>jdk</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description><![CDATA[ |
| Specifies that this profile will be activated when a matching JDK is detected. |
| ]]></description> |
| </field> |
| <field> |
| <name>os</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| Specifies that this profile will be activated when matching OS attributes are detected. |
| ]]></description> |
| <association> |
| <type>ActivationOS</type> |
| </association> |
| </field> |
| <field> |
| <name>property</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| Specifies that this profile will be activated when this System property is specified. |
| ]]></description> |
| <association> |
| <type>ActivationProperty</type> |
| </association> |
| </field> |
| <field> |
| <name>file</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| Specifies that this profile will be activated based on existence of a file. |
| ]]></description> |
| <association> |
| <type>ActivationFile</type> |
| </association> |
| </field> |
| </fields> |
| </class> |
| |
| <!-- TODO: reproduced from maven-model/maven.mdo, instead should inherit code and link to external docs --> |
| <class> |
| <name>RepositoryBase</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| Repository contains the information needed |
| for establishing connections with remote repository |
| ]]></description> |
| <fields> |
| <field> |
| <name>id</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| A unique identifier for a repository. |
| ]]></description> |
| <type>String</type> |
| </field> |
| <field> |
| <name>name</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| Human readable name of the repository |
| ]]></description> |
| <type>String</type> |
| </field> |
| <field> |
| <name>url</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| The url of the repository |
| ]]></description> |
| <type>String</type> |
| </field> |
| <field> |
| <name>layout</name> |
| <version>1.0.0</version> |
| <description>The type of layout this repository uses for locating and storing artifacts - can be "legacy" or |
| "default".</description> |
| <type>String</type> |
| <defaultValue>default</defaultValue> |
| </field> |
| </fields> |
| <codeSegments> |
| <codeSegment> |
| <version>1.0.0</version> |
| <code><![CDATA[ |
| public boolean equals( Object obj ) |
| { |
| RepositoryBase other = (RepositoryBase) obj; |
| |
| boolean retValue = false; |
| |
| if ( id != null ) |
| { |
| retValue = id.equals( other.id ); |
| } |
| |
| return retValue; |
| } |
| ]]></code> |
| </codeSegment> |
| </codeSegments> |
| </class> |
| <class> |
| <name>Repository</name> |
| <superClass>RepositoryBase</superClass> |
| <version>1.0.0</version> |
| <description> |
| Repository contains the information needed for establishing connections with remote repository |
| </description> |
| <fields> |
| <field> |
| <name>releases</name> |
| <version>1.0.0</version> |
| <description>How to handle downloading of releases from this repository</description> |
| <association> |
| <type>RepositoryPolicy</type> |
| </association> |
| </field> |
| <field> |
| <name>snapshots</name> |
| <version>1.0.0</version> |
| <description>How to handle downloading of snapshots from this repository</description> |
| <association> |
| <type>RepositoryPolicy</type> |
| </association> |
| </field> |
| </fields> |
| <!-- prevent modello generation of an incorrect equals method. Could be avoided by using <identity/> tags to mark ID as the only identity field --> |
| <codeSegments> |
| <codeSegment> |
| <version>1.0.0</version> |
| <code><![CDATA[ |
| public boolean equals( Object obj ) |
| { |
| return super.equals( obj ); |
| } |
| ]]></code> |
| </codeSegment> |
| </codeSegments> |
| </class> |
| |
| <class> |
| <name>RepositoryPolicy</name> |
| <version>1.0.0</version> |
| <description>Download policy</description> |
| <fields> |
| <field> |
| <name>enabled</name> |
| <version>1.0.0</version> |
| <description>Whether to use this repository for downloading this type of artifact</description> |
| <type>boolean</type> |
| <defaultValue>true</defaultValue> |
| </field> |
| <field> |
| <name>updatePolicy</name> |
| <version>1.0.0</version> |
| <description> |
| The frequency for downloading updates - can be "always", "daily" (default), "interval:XXX" (in minutes) or |
| "never" (only if it doesn't exist locally). |
| </description> |
| <type>String</type> |
| </field> |
| <field> |
| <name>checksumPolicy</name> |
| <version>1.0.0</version> |
| <description>What to do when verification of an artifact checksum fails - warn, fail, etc. Valid values are |
| "fail" (default), "warn" or "ignore"</description> |
| <type>String</type> |
| </field> |
| </fields> |
| </class> |
| <class> |
| <name>ActivationProperty</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| This is the property specification used to activate a profile. If the value field is empty, |
| then the existence of the named property will activate the profile, otherwise it does a case-sensitive |
| match against the property value as well. |
| ]]></description> |
| <fields> |
| <field> |
| <name>name</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <required>true</required> |
| <description>The name of the property to be used to activate a profile</description> |
| </field> |
| <field> |
| <name>value</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>The value of the property to be used to activate a profile</description> |
| </field> |
| </fields> |
| </class> |
| <class> |
| <name>ActivationFile</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| This is the file specification used to activate a profile. The missing value will be a the location |
| of a file that needs to exist, and if it doesn't the profile must run. On the other hand exists will test |
| for the existence of the file and if it is there will run the profile. |
| ]]></description> |
| <fields> |
| <field> |
| <name>missing</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>The name of the file that should be missing to activate a profile</description> |
| </field> |
| <field> |
| <name>exists</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>The name of the file that should exist to activate a profile</description> |
| </field> |
| </fields> |
| </class> |
| <class> |
| <name>ActivationOS</name> |
| <version>1.0.0</version> |
| <description><![CDATA[ |
| This is an activator which will detect an operating system's attributes in order to activate |
| its profile. |
| ]]></description> |
| <fields> |
| <field> |
| <name>name</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>The name of the OS to be used to activate a profile</description> |
| </field> |
| <field> |
| <name>family</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>The general family of the OS to be used to activate a profile (e.g. 'windows')</description> |
| </field> |
| <field> |
| <name>arch</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>The architecture of the OS to be used to activate a profile</description> |
| </field> |
| <field> |
| <name>version</name> |
| <version>1.0.0</version> |
| <type>String</type> |
| <description>The version of the OS to be used to activate a profile</description> |
| </field> |
| </fields> |
| </class> |
| </classes> |
| </model> |