429 lines
14 KiB
XML
429 lines
14 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<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="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="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="-18"/>
|
|
<xs:maxInclusive value="+18"/>
|
|
</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"/>
|
|
<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'/>
|
|
|
|
<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>
|