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