blob: 2657551bd4116ed8054bcc55991baefd2e808079 [file] [log] [blame]
<?xml version="1.0"?>
<!--
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.
-->
<!-- =================== DO NOT EDIT THIS FILE ==================== -->
<!-- Generated by Modello 1.10.0, -->
<!-- any modifications will be overwritten. -->
<!-- ============================================================== -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/PROFILES/1.0.0" targetNamespace="http://maven.apache.org/PROFILES/1.0.0">
<xs:element name="profilesXml" type="ProfilesRoot">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">Root element of the profiles.xml file.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="ProfilesRoot">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">Root element of the profiles.xml file.</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="profiles">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
Configuration of build profiles for adjusting the build
according to environmental parameters
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="profile" minOccurs="0" maxOccurs="unbounded" type="Profile"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="activeProfiles">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
List of manually-activated build profiles, specified in the order in which
they should be applied.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="activeProfile" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="Profile">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
Modifications to the build process which is keyed on some
sort of environmental parameter.
</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="id" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">The ID of this build profile, for activation
purposes.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="activation" type="Activation">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">The conditional logic which will automatically
trigger the inclusion of this profile.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="properties">
<xs:annotation>
<xs:documentation source="version">0.0.0+</xs:documentation>
<xs:documentation source="description">Extended configuration specific to this profile goes
here.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="repositories">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">The lists of the remote repositories
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="repository" minOccurs="0" maxOccurs="unbounded" type="Repository"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="pluginRepositories">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
The lists of the remote repositories for discovering plugins
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="pluginRepository" minOccurs="0" maxOccurs="unbounded" type="Repository"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="Activation">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
The conditions within the build runtime environment which will trigger
the automatic inclusion of the parent build profile.
</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="activeByDefault" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">Flag specifying whether this profile is active as a default.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="jdk" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
Specifies that this profile will be activated when a matching JDK is detected.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="os" type="ActivationOS">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
Specifies that this profile will be activated when matching OS attributes are detected.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="property" type="ActivationProperty">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
Specifies that this profile will be activated when this System property is specified.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="file" type="ActivationFile">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
Specifies that this profile will be activated based on existence of a file.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="ActivationOS">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
This is an activator which will detect an operating system&apos;s attributes in order to activate
its profile.
</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="name" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">The name of the OS to be used to activate a profile</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="family" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">The general family of the OS to be used to activate a profile (e.g. &apos;windows&apos;)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="arch" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">The architecture of the OS to be used to activate a profile</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="version" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">The version of the OS to be used to activate a profile</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="ActivationProperty">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
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.
</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="name" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">The name of the property to be used to activate a profile</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="value" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">The value of the property to be used to activate a profile</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="ActivationFile">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
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&apos;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.
</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="missing" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">The name of the file that should be missing to activate a profile</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="exists" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">The name of the file that should exist to activate a profile</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="Repository">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
Repository contains the information needed for establishing connections with remote repository
</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="releases" type="RepositoryPolicy">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">How to handle downloading of releases from this repository</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="snapshots" type="RepositoryPolicy">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">How to handle downloading of snapshots from this repository</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="id" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
A unique identifier for a repository.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="name" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
Human readable name of the repository
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="url" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
The url of the repository
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="layout" type="xs:string" default="default">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">The type of layout this repository uses for locating and storing artifacts - can be &quot;legacy&quot; or
&quot;default&quot;.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="RepositoryPolicy">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">Download policy</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="enabled" type="xs:boolean" default="true">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">Whether to use this repository for downloading this type of artifact</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="updatePolicy" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
The frequency for downloading updates - can be &quot;always&quot;, &quot;daily&quot; (default), &quot;interval:XXX&quot; (in minutes) or
&quot;never&quot; (only if it doesn&apos;t exist locally).
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="checksumPolicy" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">What to do when verification of an artifact checksum fails - warn, fail, etc. Valid values are
&quot;fail&quot; or &quot;warn&quot;</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
</xs:schema>