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> |
| 11 | <xsd:element name="groups" type="groups"/> |
| 12 | <xsd:element name="artifacts" type="artifacts"/> |
| 13 | </xsd:sequence> |
| 14 | </xsd:complexType> |
| 15 | </xsd:element> |
| 16 | |
| 17 | <xsd:complexType name="groups"> |
| 18 | <xsd:sequence> |
| 19 | <xsd:element name="abi-group" type="abi-group" maxOccurs="unbounded"/> |
| 20 | <xsd:element name="screen-density-group" type="screen-density-group" maxOccurs="unbounded"/> |
| 21 | <xsd:element name="locale-group" type="locale-group" maxOccurs="unbounded"/> |
| 22 | <xsd:element name="android-sdk-group" type="android-sdk-group" maxOccurs="unbounded"/> |
| 23 | <xsd:element |
| 24 | name="gl-texture-group" |
| 25 | type="gl-texture-group" |
| 26 | maxOccurs="unbounded"/> |
| 27 | <xsd:element name="device-feature-group" type="device-feature-group" maxOccurs="unbounded"/> |
| 28 | </xsd:sequence> |
| 29 | </xsd:complexType> |
| 30 | |
| 31 | <xsd:complexType name="artifacts"> |
| 32 | <xsd:sequence> |
| 33 | <xsd:element name="artifact-format" type="xsd:string"/> |
| 34 | <xsd:element name="artifact" type="artifact" maxOccurs="unbounded"/> |
| 35 | </xsd:sequence> |
| 36 | <xsd:attribute name="generate-all" type="xsd:boolean"/> |
| 37 | </xsd:complexType> |
| 38 | |
| 39 | <!-- Groups output artifacts together by dimension labels. --> |
| 40 | <xsd:complexType name="artifact"> |
| 41 | <xsd:attribute name="name" type="xsd:string"/> |
| 42 | <xsd:attribute name="abi-group" type="xsd:string"/> |
| 43 | <xsd:attribute name="android-sdk-group" type="xsd:string"/> |
| 44 | <xsd:attribute name="device-feature-group" type="xsd:string"/> |
| 45 | <xsd:attribute name="gl-texture-group" type="xsd:string"/> |
| 46 | <xsd:attribute name="screen-density-group" type="xsd:string"/> |
| 47 | <xsd:attribute name="locale-group" type="xsd:string"/> |
| 48 | </xsd:complexType> |
| 49 | |
| 50 | <xsd:complexType name="gl-texture-group"> |
| 51 | <xsd:sequence> |
| 52 | <xsd:element name="gl-texture" type="gl-texture" maxOccurs="unbounded"/> |
| 53 | </xsd:sequence> |
| 54 | <xsd:attribute name="label" type="xsd:string" use="optional"/> |
| 55 | </xsd:complexType> |
| 56 | |
| 57 | <xsd:complexType name="gl-texture"> |
| 58 | <xsd:sequence> |
| 59 | <xsd:element name="texture-path" type="xsd:string" maxOccurs="unbounded"/> |
| 60 | </xsd:sequence> |
| 61 | <xsd:attribute name="name" type="xsd:string" use="required"/> |
| 62 | </xsd:complexType> |
| 63 | |
| 64 | <xsd:complexType name="device-feature-group"> |
| 65 | <xsd:sequence> |
| 66 | <xsd:element name="supports-feature" type="xsd:string" maxOccurs="unbounded"/> |
| 67 | </xsd:sequence> |
| 68 | <xsd:attribute name="label" type="xsd:string" use="optional"/> |
| 69 | </xsd:complexType> |
| 70 | |
| 71 | <xsd:complexType name="abi-group"> |
| 72 | <xsd:sequence> |
| 73 | <xsd:element name="abi" type="abi-name" maxOccurs="unbounded"/> |
| 74 | </xsd:sequence> |
| 75 | <xsd:attribute name="label" type="xsd:string" use="optional"/> |
| 76 | </xsd:complexType> |
| 77 | |
| 78 | <xsd:simpleType name="abi-name"> |
| 79 | <xsd:restriction base="xsd:string"> |
| 80 | <xsd:enumeration value="armeabi"/> |
| 81 | <xsd:enumeration value="armeabi-v7a"/> |
| 82 | <xsd:enumeration value="arm64-v8a"/> |
| 83 | <xsd:enumeration value="x86"/> |
| 84 | <xsd:enumeration value="x86_64"/> |
| 85 | <xsd:enumeration value="mips"/> |
| 86 | <xsd:enumeration value="mips64"/> |
| 87 | <xsd:enumeration value="fat"/> |
| 88 | </xsd:restriction> |
| 89 | </xsd:simpleType> |
| 90 | |
| 91 | <xsd:complexType name="screen-density-group"> |
| 92 | <xsd:sequence> |
| 93 | <xsd:element name="screen-density" type="screen-density" maxOccurs="unbounded"/> |
| 94 | </xsd:sequence> |
| 95 | <xsd:attribute name="label" type="xsd:string" use="optional"/> |
| 96 | </xsd:complexType> |
| 97 | |
| 98 | <xsd:simpleType name="screen-density"> |
| 99 | <xsd:restriction base="xsd:string"> |
| 100 | <xsd:enumeration value="alldpi"/> |
| 101 | <xsd:enumeration value="ldpi"/> |
| 102 | <xsd:enumeration value="mdpi"/> |
| 103 | <xsd:enumeration value="hdpi"/> |
| 104 | <xsd:enumeration value="xhdpi"/> |
| 105 | <xsd:enumeration value="xxhdpi"/> |
| 106 | <xsd:enumeration value="xxxhdpi"/> |
| 107 | </xsd:restriction> |
| 108 | </xsd:simpleType> |
| 109 | |
| 110 | <xsd:complexType name="android-sdk-group"> |
| 111 | <xsd:sequence> |
| 112 | <xsd:element name="android-sdk" type="android-sdk" maxOccurs="unbounded"/> |
| 113 | </xsd:sequence> |
| 114 | <xsd:attribute name="label" type="xsd:string" use="optional"/> |
| 115 | </xsd:complexType> |
| 116 | |
| 117 | <xsd:complexType name="android-sdk"> |
| 118 | <!-- TODO(safarmer): Add permissions to add/remove. --> |
| 119 | <!-- TODO(safarmer): Add option for uncompressed native libs. --> |
| 120 | <xsd:sequence> |
| 121 | <xsd:element name="manifest" type="manifest"/> |
| 122 | </xsd:sequence> |
| 123 | <xsd:attribute name="minSdkVersion" type="xsd:integer"/> |
| 124 | <xsd:attribute name="targetSdkVersion" type="xsd:integer"/> |
| 125 | <xsd:attribute name="maxSdkVersion" type="xsd:integer"/> |
| 126 | </xsd:complexType> |
| 127 | |
| 128 | <!-- TODO(safarmer): Figure out the best way to handle manifest updates. --> |
| 129 | <xsd:simpleType name="manifest"> |
| 130 | <xsd:restriction base="xsd:string"/> |
| 131 | </xsd:simpleType> |
| 132 | |
| 133 | <xsd:complexType name="locale-group"> |
| 134 | <xsd:sequence> |
| 135 | <xsd:element name="locale" type="locale" maxOccurs="unbounded"/> |
| 136 | </xsd:sequence> |
| 137 | <xsd:attribute name="label" type="xsd:string" use="optional"/> |
| 138 | </xsd:complexType> |
| 139 | |
| 140 | <xsd:complexType name="locale"> |
| 141 | <xsd:attribute name="lang" type="xsd:string"/> |
| 142 | <xsd:attribute name="region" type="xsd:string"/> |
| 143 | <xsd:attribute name="compressed" type="xsd:boolean"/> |
| 144 | </xsd:complexType> |
| 145 | |
| 146 | </xsd:schema> |