| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| 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. |
| --> |
| <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' |
| elementFormDefault="qualified"> |
| <xs:element name="project"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="extend" minOccurs="0"/> |
| <xs:element ref="pomVersion"/> |
| <xs:element ref="id"/> |
| <xs:element ref="name"/> |
| <xs:element ref="groupId" minOccurs="0"/> |
| <xs:element ref="currentVersion"/> |
| <xs:element ref="organization"/> |
| <xs:element ref="inceptionYear"/> |
| <xs:element ref="package" minOccurs="0"/> |
| <xs:element ref="logo" minOccurs="0"/> |
| <xs:element ref="gumpRepositoryId" minOccurs="0"/> |
| <xs:element ref="description" minOccurs="0"/> |
| <xs:element ref="shortDescription"/> |
| <xs:element ref="url" minOccurs="0" /> |
| <xs:element ref="issueTrackingUrl" minOccurs="0"/> |
| <xs:element ref="siteAddress" minOccurs="0"/> |
| <xs:element ref="siteDirectory" minOccurs="0"/> |
| <xs:element ref="distributionSite" minOccurs="0"/> |
| <xs:element ref="distributionDirectory" minOccurs="0"/> |
| <xs:element ref="repository" minOccurs="0"/> |
| <xs:element ref="versions" minOccurs="0"/> |
| <xs:element ref="branches" minOccurs="0"/> |
| <xs:element ref="mailingLists" minOccurs="0"/> |
| <xs:element ref="developers"/> |
| <xs:element ref="contributors" minOccurs="0"/> |
| <xs:element ref="licenses" minOccurs="0"/> |
| <xs:element ref="dependencies" minOccurs="0"/> |
| <xs:element ref="build"/> |
| <xs:element ref="reports" minOccurs="0"/> |
| <xs:element ref="properties" minOccurs="0"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="extend" type='xs:string'/> |
| <xs:element name="connection" type='xs:string'/> |
| <xs:element name="developerConnection" type='xs:string'/> |
| <xs:element name="currentVersion" type='xs:string'/> |
| <xs:element name="description" type='xs:string'/> |
| <xs:element name="distributionSite" type='xs:string'/> |
| <xs:element name="distributionDirectory" type='xs:string'/> |
| <xs:element name="name" type='xs:string'/> |
| <xs:element name="groupId" type='xs:string'/> |
| <xs:element name="artifactId" type='xs:string'/> |
| <xs:element name="gumpRepositoryId" type='xs:string'/> |
| <xs:element name="id" type='xs:string'/> |
| <xs:element name="inceptionYear" type='xs:gYear'/> |
| <!-- not anyURI as it can contain ${pom....} --> |
| <xs:element name="issueTrackingUrl" type='xs:string'/> |
| <xs:element name="logo" type='xs:string'/> |
| <xs:element name="package" type='xs:string'/> |
| <xs:element name="pomVersion" type='xs:string'/> |
| <xs:element name="shortDescription" type='xs:string'/> |
| <xs:element name="siteAddress" type='xs:string'/> |
| <xs:element name="siteDirectory" type='xs:string'/> |
| <!-- not anyURI as it can contain ${pom....} --> |
| <xs:element name="url" type='xs:string'/> |
| |
| <!-- /repository element --> |
| <xs:element name="repository"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="connection"/> |
| <xs:element ref="developerConnection" minOccurs="0"/> |
| <xs:element ref="url" minOccurs="0"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /organization element --> |
| <xs:element name="organization"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="name"/> |
| <xs:element ref="url" minOccurs="0" /> |
| <xs:element ref="logo" minOccurs="0" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /versions element --> |
| <xs:element name="versions"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="version" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /versions/version element --> |
| <xs:element name="version"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="id"/> |
| <xs:element ref="name"/> |
| <xs:element ref="tag"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /versions/version/tag and branches/branch/tag--> |
| <xs:element name="tag" type='xs:string'/> |
| |
| <!-- /branches element --> |
| <xs:element name="branches"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="branch" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /branches/branch element --> |
| <xs:element name="branch"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="tag"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /mailingLists element --> |
| <xs:element name="mailingLists"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="mailingList" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /mailingLists/mailingList element --> |
| <xs:element name="mailingList"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="name"/> |
| <xs:element ref="subscribe"/> |
| <xs:element ref="unsubscribe"/> |
| <xs:element ref="archive" minOccurs="0"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /mailingLists/mailingList/subscribe element --> |
| <xs:element name="subscribe" type='xs:string'/> |
| <!-- /mailingLists/mailingList/unsubscribe element --> |
| <xs:element name="unsubscribe" type='xs:string'/> |
| <!-- /mailingLists/mailingList/archive element --> |
| <xs:element name="archive" type='xs:string'/> |
| |
| <!-- /developers element --> |
| <xs:element name="developers"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="developer" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /developers/developer element --> |
| <xs:element name="developer"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="name"/> |
| <xs:element ref="id"/> |
| <xs:group ref="contactDetails" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /developers/developer/contactDetails group and |
| /contributors/contributor/contactDetails group --> |
| <xs:group name="contactDetails"> |
| <xs:sequence> |
| <xs:element ref="email"/> |
| <xs:element name="organization" type='xs:string' minOccurs="0"/> |
| <xs:element ref="roles" minOccurs="0" /> |
| <xs:element ref="url" minOccurs="0" /> |
| <xs:element ref="timezone" minOccurs="0" /> |
| </xs:sequence> |
| </xs:group> |
| |
| <!-- contactDetails/email element --> |
| <xs:element name="email" type='xs:string'/> |
| |
| <!-- contactDetails/roles element --> |
| <xs:element name="roles"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="role" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- contactDetails/roles/role element --> |
| <xs:element name="role" type='xs:string'/> |
| |
| <!-- type for contactDetails/roles/timezone element --> |
| <xs:simpleType name="timezoneType"> |
| <xs:restriction base="xs:decimal"> |
| <xs:minInclusive value="-14"/> |
| <xs:maxInclusive value="+14"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <!-- contactDetails/roles/timezone element |
| Stores a decimal that is the offset to GMT. |
| --> |
| <xs:element name="timezone" type='timezoneType'/> |
| |
| <!-- /contributors element --> |
| <xs:element name="contributors"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="contributor" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /contributors/contributor element --> |
| <xs:element name="contributor"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="name"/> |
| <xs:group ref="contactDetails" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /licenses element --> |
| <xs:element name="licenses"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="license" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /licenses/license element --> |
| <xs:element name="license"> |
| <xs:complexType> |
| <xs:sequence> |
| <!-- name of the license, e.g. ASL 1.1 --> |
| <xs:element ref="name" minOccurs="0"/> |
| <!-- fetchable version of the license --> |
| <xs:element ref="url" minOccurs="0" /> |
| <!-- 'manual' or 'repo' --> |
| <xs:element ref="distribution" minOccurs="0" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /licenses/license/distribution element --> |
| <xs:element name="distribution"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:pattern value="manual|repo"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:element> |
| |
| <!-- /dependencies element --> |
| <xs:element name="dependencies"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="dependency" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /dependencies/dependency element --> |
| <xs:element name="dependency"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="id" minOccurs="0" /> |
| <xs:element ref="groupId" minOccurs="0" /> |
| <xs:element ref="artifactId" minOccurs="0" /> |
| <xs:element name="version" type="xs:string" /> |
| <xs:element ref="jar" minOccurs="0"/> |
| <xs:element ref="type" minOccurs="0"/> |
| <xs:element ref="url" minOccurs="0"/> |
| <xs:element ref="properties" minOccurs="0" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- /dependencies/dependency/type element --> |
| <xs:element name="type" type='xs:string'/> |
| <!-- /dependencies/dependency/jar element --> |
| <xs:element name="jar" type='xs:string'/> |
| |
| <!-- /build element --> |
| <xs:element name="build"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="nagEmailAddress" minOccurs="0"/> |
| <xs:element ref="sourceDirectory" minOccurs="0"/> |
| <xs:element ref="sourceModifications" minOccurs="0"/> |
| <xs:element ref="unitTestSourceDirectory" minOccurs="0"/> |
| <xs:element ref="integrationUnitTestSourceDirectory" minOccurs="0"/> |
| <xs:element ref="aspectSourceDirectory" minOccurs="0"/> |
| <xs:element ref="unitTest" minOccurs="0"/> |
| <!-- no longer appears in build.java |
| <xs:element ref="integrationUnitTest" minOccurs="0"/> |
| --> |
| <xs:element ref="resources" minOccurs="0"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="nagEmailAddress" type='xs:string'/> |
| |
| <xs:element name="sourceDirectory" type='xs:string'/> |
| |
| <xs:element name="sourceModifications"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="sourceModification" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| <xs:element name="sourceModification"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="className" type='xs:string'/> |
| <xs:element ref="includes" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="excludes" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| <xs:element name="unitTestSourceDirectory" type='xs:string'/> |
| <xs:element name="integrationUnitTestSourceDirectory" type='xs:string'/> |
| <xs:element name="aspectSourceDirectory" type='xs:string'/> |
| |
| <xs:element name="unitTest"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="includes" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="excludes" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="resources" minOccurs="0" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="includes"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="include" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="excludes"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="include" type='xs:string'/> |
| <xs:element name="exclude" type='xs:string'/> |
| |
| <!-- no longer appears in build.java |
| <xs:element name="integrationUnitTest"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="includes" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="excludes" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| --> |
| <xs:element name="resources"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="resource" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="directory" type='xs:string'/> |
| <xs:element name="targetPath" type='xs:string'/> |
| <xs:element name="filtering" type="xs:boolean" /> |
| |
| <xs:element name="resource"> |
| <xs:complexType> |
| <xs:sequence> |
| <!-- FIXME: I think that this defaults to basedir, need a check --> |
| <xs:element ref="directory" minOccurs="0"/> |
| <xs:element ref="targetPath" minOccurs="0"/> |
| <xs:element ref="includes" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="excludes" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="filtering" minOccurs="0" maxOccurs="1"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="reports"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="report" minOccurs="0" maxOccurs="unbounded" |
| type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="properties"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="classloader"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:pattern value="root|root.maven"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:element> |
| |
| </xs:schema> |