Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openj9
Path: blob/master/sourcetools/objectmodel/schema/build-v1.xsd
5995 views
<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (c) 2007, 2017 IBM Corp. and others

   This program and the accompanying materials are made available under
   the terms of the Eclipse Public License 2.0 which accompanies this
   distribution and is available at https://www.eclipse.org/legal/epl-2.0/
   or the Apache License, Version 2.0 which accompanies this distribution and
   is available at https://www.apache.org/licenses/LICENSE-2.0.

   This Source Code may also be made available under the following
   Secondary Licenses when the conditions for such availability set
   forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
   General Public License, version 2 with the GNU Classpath
   Exception [1] and GNU General Public License, version 2 with the
   OpenJDK Assembly Exception [2].

   [1] https://www.gnu.org/software/classpath/license.html
   [2] http://openjdk.java.net/legal/assembly-exception.html

   SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->
<xsd:schema 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	targetNamespace="http://www.ibm.com/j9/builder/build"
	xmlns:tns="http://www.ibm.com/j9/builder/build"
	elementFormDefault="qualified">

	<xsd:element name="build" type="tns:buildType" >
		<xsd:annotation>
			<xsd:documentation>Defines build details</xsd:documentation>
		</xsd:annotation>
	</xsd:element>

	<xsd:complexType name="buildType">
		<xsd:annotation>
			<xsd:documentation>
				Defines build specific information such as version numbers or
				locations of filesystem roots required by various specs  
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="version" type="tns:versionType" />
			<xsd:element name="fsroots" type="tns:fsrootsType" />
			<xsd:element name="jcls" type="tns:jclsType" />
			<xsd:element name="projects" type="tns:projectsType" />
			<xsd:element name="asmBuilders" type="tns:asmBuildersType" />
		</xsd:sequence>
	</xsd:complexType>


	<xsd:complexType name="versionType">
		<xsd:annotation>
			<xsd:documentation>Provides version information for a given build</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="major" type="xsd:integer" >
				<xsd:annotation>
					<xsd:documentation>Major version, for example: the 2 in 2.4</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="minor" type="xsd:integer" >
				<xsd:annotation>
					<xsd:documentation>Minor version, for example: the 4 in 2.4</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="branch" type="xsd:string" >
				<xsd:annotation>
					<xsd:documentation>Branch name, for example the 'Current' in 'R2.4 Current'</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="streamName" type="xsd:string" >
				<xsd:annotation>
					<xsd:documentation>stream name, for example 'R2.4 Current'</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>


	<xsd:complexType name="fsrootsType">
		<xsd:annotation>
			<xsd:documentation>A list of file system roots for various build specs.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence maxOccurs="unbounded" minOccurs="0">
			<xsd:element name="fsroot" type="tns:fsrootType" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="fsrootType">
		<xsd:annotation>
			<xsd:documentation>
				Defines a single file system root to be used by one of the build specs. 
				For example, j:\j9 or /bluebird/j9
			</xsd:documentation>
		</xsd:annotation>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
		<xsd:attribute name="root" type="xsd:string" use="required" />
	</xsd:complexType>


	<xsd:complexType name="jclsType">
		<xsd:annotation>
			<xsd:documentation>A list of valid JCL names.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence maxOccurs="unbounded" minOccurs="0">
			<xsd:element name="jcl" type="tns:jclType" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="jclType">
		<xsd:annotation>
			<xsd:documentation>
				Defines a single JCL name.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:attribute name="id" type="xsd:string" use="required" />
	</xsd:complexType>


	<xsd:complexType name="projectsType">
		<xsd:annotation>
			<xsd:documentation>A list of valid Project names.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence maxOccurs="unbounded" minOccurs="0">
			<xsd:element name="project" type="tns:projectType" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="projectType">
		<xsd:annotation>
			<xsd:documentation>
				Defines a single Project name.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:attribute name="id" type="xsd:string" use="required" />
	</xsd:complexType>


	<xsd:complexType name="asmBuildersType">
		<xsd:annotation>
			<xsd:documentation>A list of valid ASM Builder names.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence maxOccurs="unbounded" minOccurs="0">
			<xsd:element name="builder" type="tns:builderType" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="builderType">
		<xsd:annotation>
			<xsd:documentation>
				Defines a single ASM Builder name.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:attribute name="id" type="xsd:string" use="required" />
	</xsd:complexType>


</xsd:schema>