Home | History | Annotate | Download | only in configuration
      1 <?xml version="1.0" encoding="utf-8" ?>
      2 <xsd:schema
      3     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      4     elementFormDefault="qualified"
      5     xmlns="http://schemas.android.com/tools/aapt2"
      6     targetNamespace="http://schemas.android.com/tools/aapt2">
      7 
      8   <xsd:element name="post-process">
      9     <xsd:complexType>
     10       <xsd:sequence>
     11         <xsd:element name="artifacts" type="artifacts"/>
     12         <xsd:element name="android-sdks" type="android-sdks"/>
     13         <xsd:element name="abi-groups" type="abi-groups"/>
     14         <xsd:element name="screen-density-groups" type="screen-density-groups"/>
     15         <xsd:element name="locale-groups" type="locale-groups"/>
     16         <xsd:element name="gl-texture-groups" type="gl-texture-groups"/>
     17         <xsd:element name="device-feature-groups" type="device-feature-groups"/>
     18       </xsd:sequence>
     19     </xsd:complexType>
     20   </xsd:element>
     21 
     22   <xsd:complexType name="android-sdks">
     23     <xsd:sequence>
     24       <xsd:element name="android-sdk" type="android-sdk" maxOccurs="unbounded"/>
     25     </xsd:sequence>
     26   </xsd:complexType>
     27 
     28   <xsd:complexType name="abi-groups">
     29     <xsd:sequence>
     30       <xsd:element name="abi-group" type="abi-group" maxOccurs="unbounded"/>
     31     </xsd:sequence>
     32   </xsd:complexType>
     33 
     34   <xsd:complexType name="screen-density-groups">
     35     <xsd:sequence>
     36       <xsd:element name="screen-density-group" type="screen-density-group" maxOccurs="unbounded"/>
     37     </xsd:sequence>
     38   </xsd:complexType>
     39 
     40   <xsd:complexType name="locale-groups">
     41     <xsd:sequence>
     42       <xsd:element name="locale-group" type="locale-group" maxOccurs="unbounded"/>
     43     </xsd:sequence>
     44   </xsd:complexType>
     45 
     46   <xsd:complexType name="gl-texture-groups">
     47     <xsd:sequence>
     48       <xsd:element
     49           name="gl-texture-group"
     50           type="gl-texture-group"
     51           maxOccurs="unbounded"/>
     52     </xsd:sequence>
     53   </xsd:complexType>
     54 
     55   <xsd:complexType name="device-feature-groups">
     56     <xsd:sequence>
     57       <xsd:element name="device-feature-group" type="device-feature-group" maxOccurs="unbounded"/>
     58     </xsd:sequence>
     59   </xsd:complexType>
     60 
     61   <xsd:complexType name="artifacts">
     62     <xsd:sequence>
     63       <xsd:element name="artifact-format" type="xsd:string"/>
     64       <xsd:element name="artifact" type="artifact" maxOccurs="unbounded"/>
     65     </xsd:sequence>
     66     <xsd:attribute name="generate-all" type="xsd:boolean"/>
     67   </xsd:complexType>
     68 
     69   <!-- Groups output artifacts together by dimension labels. -->
     70   <xsd:complexType name="artifact">
     71     <xsd:attribute name="abi-group" type="xsd:string"/>
     72     <xsd:attribute name="android-sdk-group" type="xsd:string"/>
     73     <xsd:attribute name="device-feature-group" type="xsd:string"/>
     74     <xsd:attribute name="gl-texture-group" type="xsd:string"/>
     75     <xsd:attribute name="screen-density-group" type="xsd:string"/>
     76     <xsd:attribute name="locale-group" type="xsd:string"/>
     77   </xsd:complexType>
     78 
     79   <xsd:complexType name="gl-texture-group">
     80     <xsd:sequence>
     81       <xsd:element name="gl-texture" type="gl-texture" maxOccurs="unbounded"/>
     82     </xsd:sequence>
     83     <xsd:attribute name="label" type="xsd:string"/>
     84     <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/>
     85   </xsd:complexType>
     86 
     87   <xsd:complexType name="gl-texture">
     88     <xsd:sequence>
     89       <xsd:element name="texture-path" type="xsd:string" maxOccurs="unbounded"/>
     90     </xsd:sequence>
     91     <xsd:attribute name="name" type="xsd:string" use="required"/>
     92   </xsd:complexType>
     93 
     94   <xsd:complexType name="device-feature-group">
     95     <xsd:sequence>
     96       <xsd:element name="supports-feature" type="xsd:string" maxOccurs="unbounded"/>
     97     </xsd:sequence>
     98     <xsd:attribute name="label" type="xsd:string"/>
     99     <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/>
    100   </xsd:complexType>
    101 
    102   <xsd:complexType name="abi-group">
    103     <xsd:sequence>
    104       <xsd:element name="abi" type="abi-name" maxOccurs="unbounded"/>
    105     </xsd:sequence>
    106     <xsd:attribute name="label" type="xsd:string"/>
    107     <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/>
    108   </xsd:complexType>
    109 
    110   <xsd:simpleType name="abi-name">
    111     <xsd:restriction base="xsd:string">
    112       <xsd:enumeration value="armeabi"/>
    113       <xsd:enumeration value="armeabi-v7a"/>
    114       <xsd:enumeration value="arm64-v8a"/>
    115       <xsd:enumeration value="x86"/>
    116       <xsd:enumeration value="x86_64"/>
    117       <xsd:enumeration value="mips"/>
    118       <xsd:enumeration value="mips64"/>
    119       <xsd:enumeration value="fat"/>
    120     </xsd:restriction>
    121   </xsd:simpleType>
    122 
    123   <xsd:complexType name="screen-density-group">
    124     <xsd:sequence>
    125       <xsd:element name="screen-density" type="screen-density" maxOccurs="unbounded"/>
    126     </xsd:sequence>
    127     <xsd:attribute name="label" type="xsd:string"/>
    128     <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/>
    129   </xsd:complexType>
    130 
    131   <xsd:simpleType name="screen-density">
    132     <xsd:restriction base="xsd:string">
    133       <xsd:enumeration value="alldpi"/>
    134       <xsd:enumeration value="ldpi"/>
    135       <xsd:enumeration value="mdpi"/>
    136       <xsd:enumeration value="hdpi"/>
    137       <xsd:enumeration value="xhdpi"/>
    138       <xsd:enumeration value="xxhdpi"/>
    139       <xsd:enumeration value="xxxhdpi"/>
    140     </xsd:restriction>
    141   </xsd:simpleType>
    142 
    143   <xsd:complexType name="android-sdk">
    144     <!-- TODO(safarmer): Add permissions to add/remove. -->
    145     <!-- TODO(safarmer): Add option for uncompressed native libs. -->
    146     <xsd:sequence>
    147       <xsd:element name="manifest" type="manifest"/>
    148     </xsd:sequence>
    149     <xsd:attribute name="label" type="xsd:string" use="required"/>
    150     <xsd:attribute name="minSdkVersion" type="xsd:integer" use="required"/>
    151     <xsd:attribute name="targetSdkVersion" type="xsd:integer"/>
    152     <xsd:attribute name="maxSdkVersion" type="xsd:integer"/>
    153   </xsd:complexType>
    154 
    155   <!-- TODO(safarmer): Figure out the best way to handle manifest updates. -->
    156   <xsd:simpleType name="manifest">
    157     <xsd:restriction base="xsd:string"/>
    158   </xsd:simpleType>
    159 
    160   <xsd:complexType name="locale-group">
    161     <xsd:sequence>
    162       <xsd:element name="locale" type="locale" maxOccurs="unbounded"/>
    163     </xsd:sequence>
    164     <xsd:attribute name="label" type="xsd:string"/>
    165     <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/>
    166   </xsd:complexType>
    167 
    168   <xsd:complexType name="locale">
    169     <xsd:attribute name="lang" type="xsd:string"/>
    170     <xsd:attribute name="region" type="xsd:string"/>
    171     <xsd:attribute name="compressed" type="xsd:boolean"/>
    172   </xsd:complexType>
    173 
    174 </xsd:schema>
    175