mirror of https://github.com/apache/maven.git
397 lines
13 KiB
Plaintext
397 lines
13 KiB
Plaintext
<!--
|
|
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>
|
|
<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>
|
|
<defaultValue>default</defaultValue>
|
|
<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 repoistory
|
|
]]></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 repoistory
|
|
</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" or "warn"</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>
|