Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 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> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 11 | <xsd:element name="artifacts" type="artifacts"/> |
Shane Farmer | 78c43d7 | 2017-12-04 09:08:38 -0800 | [diff] [blame] | 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"/> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 18 | </xsd:sequence> |
| 19 | </xsd:complexType> |
| 20 | </xsd:element> |
| 21 | |
Shane Farmer | 78c43d7 | 2017-12-04 09:08:38 -0800 | [diff] [blame] | 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"> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 29 | <xsd:sequence> |
| 30 | <xsd:element name="abi-group" type="abi-group" maxOccurs="unbounded"/> |
Shane Farmer | 78c43d7 | 2017-12-04 09:08:38 -0800 | [diff] [blame] | 31 | </xsd:sequence> |
| 32 | </xsd:complexType> |
| 33 | |
| 34 | <xsd:complexType name="screen-density-groups"> |
| 35 | <xsd:sequence> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 36 | <xsd:element name="screen-density-group" type="screen-density-group" maxOccurs="unbounded"/> |
Shane Farmer | 78c43d7 | 2017-12-04 09:08:38 -0800 | [diff] [blame] | 37 | </xsd:sequence> |
| 38 | </xsd:complexType> |
| 39 | |
| 40 | <xsd:complexType name="locale-groups"> |
| 41 | <xsd:sequence> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 42 | <xsd:element name="locale-group" type="locale-group" maxOccurs="unbounded"/> |
Shane Farmer | 78c43d7 | 2017-12-04 09:08:38 -0800 | [diff] [blame] | 43 | </xsd:sequence> |
| 44 | </xsd:complexType> |
| 45 | |
| 46 | <xsd:complexType name="gl-texture-groups"> |
| 47 | <xsd:sequence> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 48 | <xsd:element |
| 49 | name="gl-texture-group" |
| 50 | type="gl-texture-group" |
| 51 | maxOccurs="unbounded"/> |
Shane Farmer | 78c43d7 | 2017-12-04 09:08:38 -0800 | [diff] [blame] | 52 | </xsd:sequence> |
| 53 | </xsd:complexType> |
| 54 | |
| 55 | <xsd:complexType name="device-feature-groups"> |
| 56 | <xsd:sequence> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 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"> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 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> |
Shane Farmer | 78c43d7 | 2017-12-04 09:08:38 -0800 | [diff] [blame] | 83 | <xsd:attribute name="label" type="xsd:string"/> |
Shane Farmer | 11cdc1c | 2018-01-31 16:43:24 -0800 | [diff] [blame] | 84 | <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 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> |
Shane Farmer | 78c43d7 | 2017-12-04 09:08:38 -0800 | [diff] [blame] | 98 | <xsd:attribute name="label" type="xsd:string"/> |
Shane Farmer | 11cdc1c | 2018-01-31 16:43:24 -0800 | [diff] [blame] | 99 | <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 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> |
Shane Farmer | 78c43d7 | 2017-12-04 09:08:38 -0800 | [diff] [blame] | 106 | <xsd:attribute name="label" type="xsd:string"/> |
Shane Farmer | 11cdc1c | 2018-01-31 16:43:24 -0800 | [diff] [blame] | 107 | <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 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> |
Shane Farmer | 78c43d7 | 2017-12-04 09:08:38 -0800 | [diff] [blame] | 127 | <xsd:attribute name="label" type="xsd:string"/> |
Shane Farmer | 11cdc1c | 2018-01-31 16:43:24 -0800 | [diff] [blame] | 128 | <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 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 | |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 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> |
Shane Farmer | 78c43d7 | 2017-12-04 09:08:38 -0800 | [diff] [blame] | 149 | <xsd:attribute name="label" type="xsd:string" use="required"/> |
| 150 | <xsd:attribute name="minSdkVersion" type="xsd:integer" use="required"/> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 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> |
Shane Farmer | 78c43d7 | 2017-12-04 09:08:38 -0800 | [diff] [blame] | 164 | <xsd:attribute name="label" type="xsd:string"/> |
Shane Farmer | 11cdc1c | 2018-01-31 16:43:24 -0800 | [diff] [blame] | 165 | <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/> |
Shane Farmer | 7eded65 | 2017-05-09 15:48:52 -0700 | [diff] [blame] | 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> |