<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2021 The Android Open Source Project
  ~
  ~ Licensed 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"
           version="2.0"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified"
           targetNamespace="http://schemas.android.com/art/apex-cache-info/v1_0"
           xmlns:t="http://schemas.android.com/art/apex-cache-info/v1_0" >
  <!-- Data type holding information on the AOT artifact cache in
    `/data/misc/apexdata/com.android.art/dalvik-cache` -->
  <xs:element name="cacheInfo">
    <xs:complexType>
    <!-- True if the cache info is generated in the Compilation OS. -->
    <xs:attribute name="compilationOsMode" type="xs:boolean" />
    <xs:sequence>
      <xs:element name="artModuleInfo" minOccurs="1" maxOccurs="1" type="t:moduleInfo" />
      <xs:element name="moduleInfoList" minOccurs="1" maxOccurs="1" type="t:moduleInfoList" />
      <xs:element name="bootClasspath" minOccurs="1" maxOccurs="1" type="t:classpath" />
      <xs:element name="dex2oatBootClasspath" minOccurs="1" maxOccurs="1" type="t:classpath" />
      <xs:element name="systemServerComponents" minOccurs="1" maxOccurs="1" type="t:systemServerComponents" />
    </xs:sequence>
    </xs:complexType>
  </xs:element>

  <!-- List of modules. -->
  <xs:complexType name="moduleInfoList">
    <xs:sequence>
      <xs:element name="moduleInfo" type="t:moduleInfo" />
    </xs:sequence>
  </xs:complexType>

  <!-- Data type representing the provenance of the AOT artifacts in the cache. -->
  <xs:complexType name="moduleInfo">
    <!-- Module name for the active APEX from `/apex/apex-info-list.xml`. -->
    <xs:attribute name="name" type="xs:string" use="required" />
    <!-- Module versionCode for the active APEX from `/apex/apex-info-list.xml`. -->
    <xs:attribute name="versionCode" type="xs:long" use="required" />
    <!-- Module versionName for the active APEX from `/apex/apex-info-list.xml`. -->
    <xs:attribute name="versionName" type="xs:string" use="required" />
    <!-- Module lastUpdateMillis for the active APEX from `/apex/apex-info-list.xml`. -->
    <xs:attribute name="lastUpdateMillis" type="xs:long" use="required" />
  </xs:complexType>

  <!-- Components of a classpath. -->
  <xs:complexType name="classpath">
    <xs:sequence>
      <xs:element name="component" type="t:component" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="component">
    <!-- File path of component. -->
    <xs:attribute name="file" type="xs:string" use="required" />
    <!-- Size of component when cache information is generated. -->
    <xs:attribute name="size" type="xs:unsignedLong" use="required" />
    <!-- DEX file checksums within the component. Multidex files have multiple checksums. -->
    <xs:attribute name="checksums" type="xs:string" use="required" />
  </xs:complexType>

  <xs:complexType name="systemServerComponents">
    <xs:sequence>
      <xs:element name="component" type="t:systemServerComponent" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="systemServerComponent">
    <xs:complexContent>
      <xs:extension base="component">
        <!-- True if the component is in SYSTEMSERVERCLASSPATH. Otherwise, the component is a
          standalone one. -->
        <xs:attribute name="isInClasspath" type="xs:boolean" use="required" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

</xs:schema>
