diff options
Diffstat (limited to 'org.eclipse.m2e.model.edit/xsd/profiles-v1_0_0.xsd')
-rw-r--r-- | org.eclipse.m2e.model.edit/xsd/profiles-v1_0_0.xsd | 322 |
1 files changed, 322 insertions, 0 deletions
diff --git a/org.eclipse.m2e.model.edit/xsd/profiles-v1_0_0.xsd b/org.eclipse.m2e.model.edit/xsd/profiles-v1_0_0.xsd new file mode 100644 index 00000000..950b10ea --- /dev/null +++ b/org.eclipse.m2e.model.edit/xsd/profiles-v1_0_0.xsd @@ -0,0 +1,322 @@ +<?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>
\ No newline at end of file |