• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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