xref: /aosp_15_r20/cts/tools/release-parser/proto/release.proto (revision b7c941bb3fa97aba169d73cee0bed2de8ac964bf)
1*b7c941bbSAndroid Build Coastguard Worker// Copyright (C) 2018 The Android Open Source Project
2*b7c941bbSAndroid Build Coastguard Worker//
3*b7c941bbSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*b7c941bbSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*b7c941bbSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*b7c941bbSAndroid Build Coastguard Worker//
7*b7c941bbSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*b7c941bbSAndroid Build Coastguard Worker//
9*b7c941bbSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*b7c941bbSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*b7c941bbSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*b7c941bbSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*b7c941bbSAndroid Build Coastguard Worker// limitations under the License.
14*b7c941bbSAndroid Build Coastguard Worker
15*b7c941bbSAndroid Build Coastguard Worker// [START declaration]
16*b7c941bbSAndroid Build Coastguard Workersyntax = "proto3";
17*b7c941bbSAndroid Build Coastguard Workerpackage com_android_cts_releaseparser;
18*b7c941bbSAndroid Build Coastguard Worker// [END declaration]
19*b7c941bbSAndroid Build Coastguard Worker
20*b7c941bbSAndroid Build Coastguard Worker// [START java_declaration]
21*b7c941bbSAndroid Build Coastguard Workeroption java_package = "com.android.cts.releaseparser";
22*b7c941bbSAndroid Build Coastguard Workeroption java_outer_classname = "ReleaseProto";
23*b7c941bbSAndroid Build Coastguard Worker// [END java_declaration]
24*b7c941bbSAndroid Build Coastguard Worker
25*b7c941bbSAndroid Build Coastguard Worker// [START messages]
26*b7c941bbSAndroid Build Coastguard Workermessage Option {
27*b7c941bbSAndroid Build Coastguard Worker    string name = 1;
28*b7c941bbSAndroid Build Coastguard Worker    string key = 2;
29*b7c941bbSAndroid Build Coastguard Worker    string value =3;
30*b7c941bbSAndroid Build Coastguard Worker}
31*b7c941bbSAndroid Build Coastguard Worker
32*b7c941bbSAndroid Build Coastguard Workermessage TestModuleConfig {
33*b7c941bbSAndroid Build Coastguard Worker    string module_name = 1;
34*b7c941bbSAndroid Build Coastguard Worker    string component = 2;
35*b7c941bbSAndroid Build Coastguard Worker    string description = 3;
36*b7c941bbSAndroid Build Coastguard Worker    repeated Option options = 4;
37*b7c941bbSAndroid Build Coastguard Worker
38*b7c941bbSAndroid Build Coastguard Worker    message TargetPreparer {
39*b7c941bbSAndroid Build Coastguard Worker        string test_class = 1;
40*b7c941bbSAndroid Build Coastguard Worker        repeated Option options = 2;
41*b7c941bbSAndroid Build Coastguard Worker    }
42*b7c941bbSAndroid Build Coastguard Worker    repeated TargetPreparer target_preparers = 5;
43*b7c941bbSAndroid Build Coastguard Worker    repeated string test_file_names = 6;
44*b7c941bbSAndroid Build Coastguard Worker
45*b7c941bbSAndroid Build Coastguard Worker    message TestClass {
46*b7c941bbSAndroid Build Coastguard Worker        string test_class = 1;
47*b7c941bbSAndroid Build Coastguard Worker        string package = 2;
48*b7c941bbSAndroid Build Coastguard Worker        repeated Option options = 3;
49*b7c941bbSAndroid Build Coastguard Worker    }
50*b7c941bbSAndroid Build Coastguard Worker    repeated TestClass test_classes = 7;
51*b7c941bbSAndroid Build Coastguard Worker    repeated string test_jars = 8;
52*b7c941bbSAndroid Build Coastguard Worker}
53*b7c941bbSAndroid Build Coastguard Worker
54*b7c941bbSAndroid Build Coastguard Workermessage Element {
55*b7c941bbSAndroid Build Coastguard Worker    string name = 1;
56*b7c941bbSAndroid Build Coastguard Worker    string value = 2;
57*b7c941bbSAndroid Build Coastguard Worker}
58*b7c941bbSAndroid Build Coastguard Worker
59*b7c941bbSAndroid Build Coastguard Workermessage ApiAnnotation {
60*b7c941bbSAndroid Build Coastguard Worker    int32 visibility = 1;
61*b7c941bbSAndroid Build Coastguard Worker    string type = 2;
62*b7c941bbSAndroid Build Coastguard Worker
63*b7c941bbSAndroid Build Coastguard Worker    repeated Element elements = 3;
64*b7c941bbSAndroid Build Coastguard Worker}
65*b7c941bbSAndroid Build Coastguard Worker
66*b7c941bbSAndroid Build Coastguard Workermessage ApiField {
67*b7c941bbSAndroid Build Coastguard Worker    string defining_class = 1;
68*b7c941bbSAndroid Build Coastguard Worker    string name = 2;
69*b7c941bbSAndroid Build Coastguard Worker    string type = 3;
70*b7c941bbSAndroid Build Coastguard Worker    int32 access_flags = 4;
71*b7c941bbSAndroid Build Coastguard Worker    string initial_value = 5;
72*b7c941bbSAndroid Build Coastguard Worker    repeated ApiAnnotation annotations = 6;
73*b7c941bbSAndroid Build Coastguard Worker    string value = 7;
74*b7c941bbSAndroid Build Coastguard Worker}
75*b7c941bbSAndroid Build Coastguard Worker
76*b7c941bbSAndroid Build Coastguard Workermessage ApiMethod {
77*b7c941bbSAndroid Build Coastguard Worker    string defining_class = 1;
78*b7c941bbSAndroid Build Coastguard Worker    string name = 2;
79*b7c941bbSAndroid Build Coastguard Worker    repeated string parameters = 3;
80*b7c941bbSAndroid Build Coastguard Worker    string return_type = 4;
81*b7c941bbSAndroid Build Coastguard Worker    int32 access_flags = 5;
82*b7c941bbSAndroid Build Coastguard Worker    string known_failure_filter = 6;
83*b7c941bbSAndroid Build Coastguard Worker    repeated ApiAnnotation annotations = 7;
84*b7c941bbSAndroid Build Coastguard Worker}
85*b7c941bbSAndroid Build Coastguard Worker
86*b7c941bbSAndroid Build Coastguard Workermessage ApiClass {
87*b7c941bbSAndroid Build Coastguard Worker    string name = 1;
88*b7c941bbSAndroid Build Coastguard Worker    string type = 2;
89*b7c941bbSAndroid Build Coastguard Worker    string super_class = 3;
90*b7c941bbSAndroid Build Coastguard Worker    repeated string interfaces = 4;
91*b7c941bbSAndroid Build Coastguard Worker    TestClassType test_class_type = 5;
92*b7c941bbSAndroid Build Coastguard Worker    int32 access_flags = 6;
93*b7c941bbSAndroid Build Coastguard Worker    repeated ApiAnnotation annotations = 7;
94*b7c941bbSAndroid Build Coastguard Worker    repeated ApiMethod methods = 8;
95*b7c941bbSAndroid Build Coastguard Worker    repeated ApiField fields = 9;
96*b7c941bbSAndroid Build Coastguard Worker}
97*b7c941bbSAndroid Build Coastguard Worker
98*b7c941bbSAndroid Build Coastguard Workermessage ApiPackage {
99*b7c941bbSAndroid Build Coastguard Worker    string name = 1;
100*b7c941bbSAndroid Build Coastguard Worker    string package_file = 2;
101*b7c941bbSAndroid Build Coastguard Worker    string content_id = 3;
102*b7c941bbSAndroid Build Coastguard Worker    string op_codes = 4;
103*b7c941bbSAndroid Build Coastguard Worker
104*b7c941bbSAndroid Build Coastguard Worker    repeated ApiClass classes = 5;
105*b7c941bbSAndroid Build Coastguard Worker    string error = 6;
106*b7c941bbSAndroid Build Coastguard Worker}
107*b7c941bbSAndroid Build Coastguard Worker
108*b7c941bbSAndroid Build Coastguard Workerenum TestClassType {
109*b7c941bbSAndroid Build Coastguard Worker    UNKNOWN = 0;
110*b7c941bbSAndroid Build Coastguard Worker    JUNIT3 = 1;
111*b7c941bbSAndroid Build Coastguard Worker    JUNIT4 = 2;
112*b7c941bbSAndroid Build Coastguard Worker    PARAMETERIZED = 3;
113*b7c941bbSAndroid Build Coastguard Worker    JAVAHOST = 4;
114*b7c941bbSAndroid Build Coastguard Worker}
115*b7c941bbSAndroid Build Coastguard Worker
116*b7c941bbSAndroid Build Coastguard Workermessage TestSuite {
117*b7c941bbSAndroid Build Coastguard Worker    string name = 1;
118*b7c941bbSAndroid Build Coastguard Worker    // Version
119*b7c941bbSAndroid Build Coastguard Worker    string version = 2;
120*b7c941bbSAndroid Build Coastguard Worker    // Build Number
121*b7c941bbSAndroid Build Coastguard Worker    string build_number = 3;
122*b7c941bbSAndroid Build Coastguard Worker    // Content ID
123*b7c941bbSAndroid Build Coastguard Worker    string content_id = 4;
124*b7c941bbSAndroid Build Coastguard Worker
125*b7c941bbSAndroid Build Coastguard Worker    enum TestType {
126*b7c941bbSAndroid Build Coastguard Worker        UNKNOWN = 0;
127*b7c941bbSAndroid Build Coastguard Worker        ANDROIDJUNIT = 1;
128*b7c941bbSAndroid Build Coastguard Worker        JAVAHOST = 2;
129*b7c941bbSAndroid Build Coastguard Worker        GTEST = 3;
130*b7c941bbSAndroid Build Coastguard Worker        LIBCORE = 4;
131*b7c941bbSAndroid Build Coastguard Worker        DALVIK = 5;
132*b7c941bbSAndroid Build Coastguard Worker        DEQP = 6;
133*b7c941bbSAndroid Build Coastguard Worker    }
134*b7c941bbSAndroid Build Coastguard Worker
135*b7c941bbSAndroid Build Coastguard Worker    message Module {
136*b7c941bbSAndroid Build Coastguard Worker        string name = 1;
137*b7c941bbSAndroid Build Coastguard Worker        string config_file = 2;
138*b7c941bbSAndroid Build Coastguard Worker        TestType test_type = 3;
139*b7c941bbSAndroid Build Coastguard Worker        string test_class = 4;
140*b7c941bbSAndroid Build Coastguard Worker        repeated ApiPackage packages = 5;
141*b7c941bbSAndroid Build Coastguard Worker    }
142*b7c941bbSAndroid Build Coastguard Worker    repeated Module modules = 5;
143*b7c941bbSAndroid Build Coastguard Worker}
144*b7c941bbSAndroid Build Coastguard Worker
145*b7c941bbSAndroid Build Coastguard Workermessage Service {
146*b7c941bbSAndroid Build Coastguard Worker    string name = 1;
147*b7c941bbSAndroid Build Coastguard Worker    string file = 2;
148*b7c941bbSAndroid Build Coastguard Worker    repeated string arguments = 3;
149*b7c941bbSAndroid Build Coastguard Worker    string clazz = 4;
150*b7c941bbSAndroid Build Coastguard Worker    string user = 5;
151*b7c941bbSAndroid Build Coastguard Worker    string group = 6;
152*b7c941bbSAndroid Build Coastguard Worker    string writepid = 7;
153*b7c941bbSAndroid Build Coastguard Worker    repeated string options = 8;
154*b7c941bbSAndroid Build Coastguard Worker}
155*b7c941bbSAndroid Build Coastguard Worker
156*b7c941bbSAndroid Build Coastguard Workermessage Api {
157*b7c941bbSAndroid Build Coastguard Worker    string name = 1;
158*b7c941bbSAndroid Build Coastguard Worker    string version = 2;
159*b7c941bbSAndroid Build Coastguard Worker    // map of Package Name & Package Message
160*b7c941bbSAndroid Build Coastguard Worker    map<string, ApiPackage> packages = 3;
161*b7c941bbSAndroid Build Coastguard Worker}
162*b7c941bbSAndroid Build Coastguard Worker
163*b7c941bbSAndroid Build Coastguard Workermessage UsesFeature {
164*b7c941bbSAndroid Build Coastguard Worker    string name = 1;
165*b7c941bbSAndroid Build Coastguard Worker    string required = 2;
166*b7c941bbSAndroid Build Coastguard Worker}
167*b7c941bbSAndroid Build Coastguard Worker
168*b7c941bbSAndroid Build Coastguard Workermessage UsesLibrary {
169*b7c941bbSAndroid Build Coastguard Worker    string name = 1;
170*b7c941bbSAndroid Build Coastguard Worker    string required = 2;
171*b7c941bbSAndroid Build Coastguard Worker}
172*b7c941bbSAndroid Build Coastguard Worker
173*b7c941bbSAndroid Build Coastguard Workermessage AppInfo {
174*b7c941bbSAndroid Build Coastguard Worker    string package_name = 1;
175*b7c941bbSAndroid Build Coastguard Worker    string version_code = 2;
176*b7c941bbSAndroid Build Coastguard Worker    string version_name = 3;
177*b7c941bbSAndroid Build Coastguard Worker    string sdk_version = 4;
178*b7c941bbSAndroid Build Coastguard Worker    string target_sdk_version = 5;
179*b7c941bbSAndroid Build Coastguard Worker    repeated UsesFeature uses_features = 6;
180*b7c941bbSAndroid Build Coastguard Worker    repeated UsesLibrary uses_libraries = 7;
181*b7c941bbSAndroid Build Coastguard Worker    repeated string native_code = 8;
182*b7c941bbSAndroid Build Coastguard Worker    repeated string uses_permissions = 9;
183*b7c941bbSAndroid Build Coastguard Worker    repeated string activities = 10;
184*b7c941bbSAndroid Build Coastguard Worker    repeated string services = 11;
185*b7c941bbSAndroid Build Coastguard Worker    repeated string providers = 12;
186*b7c941bbSAndroid Build Coastguard Worker    map<string, string> properties = 13;
187*b7c941bbSAndroid Build Coastguard Worker    repeated ApiPackage external_api_packages = 14;
188*b7c941bbSAndroid Build Coastguard Worker    repeated ApiPackage internal_api_packages = 15;
189*b7c941bbSAndroid Build Coastguard Worker    PackageFileContent package_file_content = 16;
190*b7c941bbSAndroid Build Coastguard Worker    string package_signature = 17;
191*b7c941bbSAndroid Build Coastguard Worker}
192*b7c941bbSAndroid Build Coastguard Worker
193*b7c941bbSAndroid Build Coastguard Workermessage ImageSection {
194*b7c941bbSAndroid Build Coastguard Worker    uint32 offset = 1;
195*b7c941bbSAndroid Build Coastguard Worker    uint32 size = 2;
196*b7c941bbSAndroid Build Coastguard Worker}
197*b7c941bbSAndroid Build Coastguard Worker
198*b7c941bbSAndroid Build Coastguard Worker// art/runtime/image.h
199*b7c941bbSAndroid Build Coastguard Workermessage ArtInfo {
200*b7c941bbSAndroid Build Coastguard Worker    bool valid = 1;
201*b7c941bbSAndroid Build Coastguard Worker    // skip magic_[4]
202*b7c941bbSAndroid Build Coastguard Worker    string version = 2;
203*b7c941bbSAndroid Build Coastguard Worker    uint32 image_begin = 3;
204*b7c941bbSAndroid Build Coastguard Worker    uint32 image_size = 4;
205*b7c941bbSAndroid Build Coastguard Worker    uint32 oat_checksum = 5;
206*b7c941bbSAndroid Build Coastguard Worker    uint32 oat_file_begin = 6;
207*b7c941bbSAndroid Build Coastguard Worker    uint32 oat_data_begin = 7;
208*b7c941bbSAndroid Build Coastguard Worker    uint32 oat_data_end = 8;
209*b7c941bbSAndroid Build Coastguard Worker    uint32 oat_file_end = 9;
210*b7c941bbSAndroid Build Coastguard Worker
211*b7c941bbSAndroid Build Coastguard Worker    // app image headers only
212*b7c941bbSAndroid Build Coastguard Worker    uint32 boot_image_begin = 10;
213*b7c941bbSAndroid Build Coastguard Worker    uint32 boot_image_size = 11;
214*b7c941bbSAndroid Build Coastguard Worker    uint32 boot_oat_begin = 12;
215*b7c941bbSAndroid Build Coastguard Worker    uint32 boot_oat_size = 13;
216*b7c941bbSAndroid Build Coastguard Worker
217*b7c941bbSAndroid Build Coastguard Worker    int32 patch_delta = 14;
218*b7c941bbSAndroid Build Coastguard Worker    uint32 image_roots = 15;
219*b7c941bbSAndroid Build Coastguard Worker    uint32 pointer_size = 16;
220*b7c941bbSAndroid Build Coastguard Worker    uint32 compile_pic = 17;
221*b7c941bbSAndroid Build Coastguard Worker    uint32 is_pic = 18;
222*b7c941bbSAndroid Build Coastguard Worker
223*b7c941bbSAndroid Build Coastguard Worker    repeated ImageSection image_sections = 19;
224*b7c941bbSAndroid Build Coastguard Worker    repeated uint64 image_methods = 20;
225*b7c941bbSAndroid Build Coastguard Worker
226*b7c941bbSAndroid Build Coastguard Worker    uint32 storage_mode = 21;
227*b7c941bbSAndroid Build Coastguard Worker    uint32 data_size = 22;
228*b7c941bbSAndroid Build Coastguard Worker}
229*b7c941bbSAndroid Build Coastguard Worker
230*b7c941bbSAndroid Build Coastguard Worker// art/dex2oat/linker/oat_writer.cc OatDexFile
231*b7c941bbSAndroid Build Coastguard Workermessage OatDexInfo {
232*b7c941bbSAndroid Build Coastguard Worker    string dex_file_location_data = 1;
233*b7c941bbSAndroid Build Coastguard Worker    // The checksum of the dex file.
234*b7c941bbSAndroid Build Coastguard Worker    uint32 dex_file_location_checksum = 2;
235*b7c941bbSAndroid Build Coastguard Worker    // Offset of the dex file in the vdex file.
236*b7c941bbSAndroid Build Coastguard Worker    uint32 dex_file_offset = 3;
237*b7c941bbSAndroid Build Coastguard Worker    // The lookup table offset in the oat file. Set in WriteTypeLookupTables.
238*b7c941bbSAndroid Build Coastguard Worker    uint32 lookup_table_offset = 4;
239*b7c941bbSAndroid Build Coastguard Worker    // Class and BSS offsets set in PrepareLayout.
240*b7c941bbSAndroid Build Coastguard Worker    uint32 class_offsets_offset = 5;
241*b7c941bbSAndroid Build Coastguard Worker    uint32 method_bss_mapping_offset = 6;
242*b7c941bbSAndroid Build Coastguard Worker    uint32 type_bss_mapping_offset = 7;
243*b7c941bbSAndroid Build Coastguard Worker    uint32 string_bss_mapping_offset = 8;
244*b7c941bbSAndroid Build Coastguard Worker    // Offset of dex sections that will have different runtime madvise states.
245*b7c941bbSAndroid Build Coastguard Worker    uint32 dex_sections_layout_offset = 9;
246*b7c941bbSAndroid Build Coastguard Worker}
247*b7c941bbSAndroid Build Coastguard Worker
248*b7c941bbSAndroid Build Coastguard Worker// art/runtime/oat.h
249*b7c941bbSAndroid Build Coastguard Workermessage OatInfo {
250*b7c941bbSAndroid Build Coastguard Worker    // skip magic_[4]
251*b7c941bbSAndroid Build Coastguard Worker    string version = 1;
252*b7c941bbSAndroid Build Coastguard Worker    uint32 adler32_checksum = 2;
253*b7c941bbSAndroid Build Coastguard Worker    // art/libartbase/arch/instruction_set.h
254*b7c941bbSAndroid Build Coastguard Worker
255*b7c941bbSAndroid Build Coastguard Worker    uint32 instruction_set = 3;
256*b7c941bbSAndroid Build Coastguard Worker    uint32 instruction_set_features_bitmap = 4;
257*b7c941bbSAndroid Build Coastguard Worker    uint32 dex_file_count = 5;
258*b7c941bbSAndroid Build Coastguard Worker    uint32 oat_dex_files_offset = 6;
259*b7c941bbSAndroid Build Coastguard Worker    uint32 executable_offset = 7;
260*b7c941bbSAndroid Build Coastguard Worker    uint32 interpreter_to_interpreter_bridge_offset = 8;
261*b7c941bbSAndroid Build Coastguard Worker    uint32 interpreter_to_compiled_code_bridge_offset = 9;
262*b7c941bbSAndroid Build Coastguard Worker    uint32 jni_dlsym_lookup_offset = 10;
263*b7c941bbSAndroid Build Coastguard Worker    uint32 quick_generic_jni_trampoline_offset = 11;
264*b7c941bbSAndroid Build Coastguard Worker    uint32 quick_imt_conflict_trampoline_offset = 12;
265*b7c941bbSAndroid Build Coastguard Worker    uint32 quick_resolution_trampoline_offset = 13;
266*b7c941bbSAndroid Build Coastguard Worker    uint32 quick_to_interpreter_bridge_offset = 14;
267*b7c941bbSAndroid Build Coastguard Worker
268*b7c941bbSAndroid Build Coastguard Worker    // for backward compatibility, removed from version 162, see aosp/e0669326c0282b5b645aba75160425eef9d57617
269*b7c941bbSAndroid Build Coastguard Worker    uint32 image_patch_delta = 15;
270*b7c941bbSAndroid Build Coastguard Worker
271*b7c941bbSAndroid Build Coastguard Worker    uint32 image_file_location_oat_checksum = 16;
272*b7c941bbSAndroid Build Coastguard Worker    // for backward compatibility, removed from version 162, see aosp/e0669326c0282b5b645aba75160425eef9d57617
273*b7c941bbSAndroid Build Coastguard Worker    uint32 image_file_location_oat_data_begin = 17;
274*b7c941bbSAndroid Build Coastguard Worker
275*b7c941bbSAndroid Build Coastguard Worker    uint32 key_value_store_size = 18;
276*b7c941bbSAndroid Build Coastguard Worker
277*b7c941bbSAndroid Build Coastguard Worker    // int8_t key_value_store_[0];
278*b7c941bbSAndroid Build Coastguard Worker    map<string, string> key_value_store = 19;
279*b7c941bbSAndroid Build Coastguard Worker    repeated OatDexInfo oat_dex_info = 20;
280*b7c941bbSAndroid Build Coastguard Worker    bool valid = 21;
281*b7c941bbSAndroid Build Coastguard Worker    int32 bits = 22;
282*b7c941bbSAndroid Build Coastguard Worker    string architecture = 23;
283*b7c941bbSAndroid Build Coastguard Worker}
284*b7c941bbSAndroid Build Coastguard Worker
285*b7c941bbSAndroid Build Coastguard Workermessage DexSectionHeader {
286*b7c941bbSAndroid Build Coastguard Worker    uint32 dex_size = 1;
287*b7c941bbSAndroid Build Coastguard Worker    uint32 dex_shared_data_size = 2;
288*b7c941bbSAndroid Build Coastguard Worker    uint32 quickening_info_size = 3;
289*b7c941bbSAndroid Build Coastguard Worker}
290*b7c941bbSAndroid Build Coastguard Worker
291*b7c941bbSAndroid Build Coastguard Worker// art/runtime/vdex_file.h
292*b7c941bbSAndroid Build Coastguard Workermessage VdexInfo {
293*b7c941bbSAndroid Build Coastguard Worker    bool valid = 1;
294*b7c941bbSAndroid Build Coastguard Worker
295*b7c941bbSAndroid Build Coastguard Worker    // skip magic_[4]
296*b7c941bbSAndroid Build Coastguard Worker    string verifier_deps_version = 2;
297*b7c941bbSAndroid Build Coastguard Worker    string dex_section_version = 3;
298*b7c941bbSAndroid Build Coastguard Worker    uint32 number_of_dex_files = 4;
299*b7c941bbSAndroid Build Coastguard Worker    uint32 verifier_deps_size = 5;
300*b7c941bbSAndroid Build Coastguard Worker    repeated uint32 checksums = 6;
301*b7c941bbSAndroid Build Coastguard Worker    repeated DexSectionHeader dex_section_headers = 7;
302*b7c941bbSAndroid Build Coastguard Worker}
303*b7c941bbSAndroid Build Coastguard Worker
304*b7c941bbSAndroid Build Coastguard Workermessage Permission {
305*b7c941bbSAndroid Build Coastguard Worker    string name = 1;
306*b7c941bbSAndroid Build Coastguard Worker    repeated Element elements = 2;
307*b7c941bbSAndroid Build Coastguard Worker}
308*b7c941bbSAndroid Build Coastguard Worker
309*b7c941bbSAndroid Build Coastguard Workermessage PermissionList {
310*b7c941bbSAndroid Build Coastguard Worker    string name = 1;
311*b7c941bbSAndroid Build Coastguard Worker    repeated Permission permissions = 2;
312*b7c941bbSAndroid Build Coastguard Worker}
313*b7c941bbSAndroid Build Coastguard Worker
314*b7c941bbSAndroid Build Coastguard Workermessage PackageFileContent {
315*b7c941bbSAndroid Build Coastguard Worker    map<string, Entry> entries = 1;
316*b7c941bbSAndroid Build Coastguard Worker}
317*b7c941bbSAndroid Build Coastguard Worker
318*b7c941bbSAndroid Build Coastguard Worker// An entry in a release
319*b7c941bbSAndroid Build Coastguard Workermessage Entry {
320*b7c941bbSAndroid Build Coastguard Worker    // Name
321*b7c941bbSAndroid Build Coastguard Worker    string name = 1;
322*b7c941bbSAndroid Build Coastguard Worker
323*b7c941bbSAndroid Build Coastguard Worker    enum EntryType {
324*b7c941bbSAndroid Build Coastguard Worker        FOLDER = 0;
325*b7c941bbSAndroid Build Coastguard Worker        FILE = 1;
326*b7c941bbSAndroid Build Coastguard Worker        TEST_MODULE_CONFIG = 2;
327*b7c941bbSAndroid Build Coastguard Worker        JAR = 3;
328*b7c941bbSAndroid Build Coastguard Worker        APK = 4;
329*b7c941bbSAndroid Build Coastguard Worker        EXE = 5;
330*b7c941bbSAndroid Build Coastguard Worker        SO = 6;
331*b7c941bbSAndroid Build Coastguard Worker        OAT = 7;
332*b7c941bbSAndroid Build Coastguard Worker        ODEX = 8;
333*b7c941bbSAndroid Build Coastguard Worker        VDEX = 9;
334*b7c941bbSAndroid Build Coastguard Worker        TEST_SUITE_TRADEFED = 10;
335*b7c941bbSAndroid Build Coastguard Worker        BUILD_PROP = 11;
336*b7c941bbSAndroid Build Coastguard Worker        SYMBOLIC_LINK = 12;
337*b7c941bbSAndroid Build Coastguard Worker        RC = 13;
338*b7c941bbSAndroid Build Coastguard Worker        ART = 14;
339*b7c941bbSAndroid Build Coastguard Worker        XML = 15;
340*b7c941bbSAndroid Build Coastguard Worker        IMG = 16;
341*b7c941bbSAndroid Build Coastguard Worker    }
342*b7c941bbSAndroid Build Coastguard Worker    // Type
343*b7c941bbSAndroid Build Coastguard Worker    EntryType type = 2;
344*b7c941bbSAndroid Build Coastguard Worker
345*b7c941bbSAndroid Build Coastguard Worker    // Size
346*b7c941bbSAndroid Build Coastguard Worker    int64 size = 3;
347*b7c941bbSAndroid Build Coastguard Worker    // Content ID
348*b7c941bbSAndroid Build Coastguard Worker    string content_id = 4;
349*b7c941bbSAndroid Build Coastguard Worker    // code_id
350*b7c941bbSAndroid Build Coastguard Worker    string code_id = 5;
351*b7c941bbSAndroid Build Coastguard Worker    // Parent folder
352*b7c941bbSAndroid Build Coastguard Worker    string abi_architecture = 6;
353*b7c941bbSAndroid Build Coastguard Worker    int32 abi_bits = 7;
354*b7c941bbSAndroid Build Coastguard Worker    string parent_folder = 8;
355*b7c941bbSAndroid Build Coastguard Worker    // Relative path
356*b7c941bbSAndroid Build Coastguard Worker    string relative_path = 9;
357*b7c941bbSAndroid Build Coastguard Worker
358*b7c941bbSAndroid Build Coastguard Worker    repeated string dependencies = 10;
359*b7c941bbSAndroid Build Coastguard Worker    repeated string dynamic_loading_dependencies = 11;
360*b7c941bbSAndroid Build Coastguard Worker
361*b7c941bbSAndroid Build Coastguard Worker    // file type specified info
362*b7c941bbSAndroid Build Coastguard Worker    AppInfo app_info = 12;
363*b7c941bbSAndroid Build Coastguard Worker    ArtInfo art_info = 13;
364*b7c941bbSAndroid Build Coastguard Worker    OatInfo oat_info = 14;
365*b7c941bbSAndroid Build Coastguard Worker    VdexInfo vdex_info = 15;
366*b7c941bbSAndroid Build Coastguard Worker    // TestModule.config message
367*b7c941bbSAndroid Build Coastguard Worker    TestModuleConfig test_module_config = 16;
368*b7c941bbSAndroid Build Coastguard Worker    // Native services
369*b7c941bbSAndroid Build Coastguard Worker    repeated Service services = 17;
370*b7c941bbSAndroid Build Coastguard Worker    // Device permissions
371*b7c941bbSAndroid Build Coastguard Worker    map<string, PermissionList> device_permissions = 18;
372*b7c941bbSAndroid Build Coastguard Worker    // property map(key,value)
373*b7c941bbSAndroid Build Coastguard Worker    map<string, string> properties = 19;
374*b7c941bbSAndroid Build Coastguard Worker}
375*b7c941bbSAndroid Build Coastguard Worker
376*b7c941bbSAndroid Build Coastguard Workerenum ReleaseType {
377*b7c941bbSAndroid Build Coastguard Worker    DEVICE_BUILD = 0;
378*b7c941bbSAndroid Build Coastguard Worker    TEST_SUITE = 1;
379*b7c941bbSAndroid Build Coastguard Worker    APP_DISTRIBUTION_PACKAGE = 2;
380*b7c941bbSAndroid Build Coastguard Worker}
381*b7c941bbSAndroid Build Coastguard Worker
382*b7c941bbSAndroid Build Coastguard Workermessage ReleaseContent {
383*b7c941bbSAndroid Build Coastguard Worker    // Name
384*b7c941bbSAndroid Build Coastguard Worker    string name = 1;
385*b7c941bbSAndroid Build Coastguard Worker    // Version
386*b7c941bbSAndroid Build Coastguard Worker    string version = 2;
387*b7c941bbSAndroid Build Coastguard Worker    // Build Number
388*b7c941bbSAndroid Build Coastguard Worker    string build_number = 3;
389*b7c941bbSAndroid Build Coastguard Worker    // Full name
390*b7c941bbSAndroid Build Coastguard Worker    string fullname = 4;
391*b7c941bbSAndroid Build Coastguard Worker    // release uid e.g. Build Fingerprint
392*b7c941bbSAndroid Build Coastguard Worker    string release_id = 5;
393*b7c941bbSAndroid Build Coastguard Worker    // Content id
394*b7c941bbSAndroid Build Coastguard Worker    string content_id = 6;
395*b7c941bbSAndroid Build Coastguard Worker    // Size in byte
396*b7c941bbSAndroid Build Coastguard Worker    int64 size = 7;
397*b7c941bbSAndroid Build Coastguard Worker    ReleaseType release_type = 8;
398*b7c941bbSAndroid Build Coastguard Worker    // property map(key,value)
399*b7c941bbSAndroid Build Coastguard Worker    map<string, string> properties = 9;
400*b7c941bbSAndroid Build Coastguard Worker    // File Entry map(relative_path, entry)
401*b7c941bbSAndroid Build Coastguard Worker    map<string, Entry> entries = 10;
402*b7c941bbSAndroid Build Coastguard Worker
403*b7c941bbSAndroid Build Coastguard Worker    // Test Suite specific
404*b7c941bbSAndroid Build Coastguard Worker    string test_suite_tradefed = 11;
405*b7c941bbSAndroid Build Coastguard Worker    string target_arch = 12;
406*b7c941bbSAndroid Build Coastguard Worker    repeated string known_failures = 13;
407*b7c941bbSAndroid Build Coastguard Worker}
408*b7c941bbSAndroid Build Coastguard Worker// [END messages]