| <?xml version="1.0"?> |
| <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="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'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="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'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. 'windows')</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="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 repoistory |
| </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 "legacy" or |
| "default".</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 "always", "daily" (default), "interval:XXX" (in minutes) or |
| "never" (only if it doesn'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 |
| "fail" or "warn"</xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| </xs:all> |
| </xs:complexType> |
| </xs:schema> |