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