You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
408 lines
9.9 KiB
408 lines
9.9 KiB
// Copyright (C) 2018 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
// [START declaration]
|
|
syntax = "proto3";
|
|
package com_android_cts_releaseparser;
|
|
// [END declaration]
|
|
|
|
// [START java_declaration]
|
|
option java_package = "com.android.cts.releaseparser";
|
|
option java_outer_classname = "ReleaseProto";
|
|
// [END java_declaration]
|
|
|
|
// [START messages]
|
|
message Option {
|
|
string name = 1;
|
|
string key = 2;
|
|
string value =3;
|
|
}
|
|
|
|
message TestModuleConfig {
|
|
string module_name = 1;
|
|
string component = 2;
|
|
string description = 3;
|
|
repeated Option options = 4;
|
|
|
|
message TargetPreparer {
|
|
string test_class = 1;
|
|
repeated Option options = 2;
|
|
}
|
|
repeated TargetPreparer target_preparers = 5;
|
|
repeated string test_file_names = 6;
|
|
|
|
message TestClass {
|
|
string test_class = 1;
|
|
string package = 2;
|
|
repeated Option options = 3;
|
|
}
|
|
repeated TestClass test_classes = 7;
|
|
repeated string test_jars = 8;
|
|
}
|
|
|
|
message Element {
|
|
string name = 1;
|
|
string value = 2;
|
|
}
|
|
|
|
message ApiAnnotation {
|
|
int32 visibility = 1;
|
|
string type = 2;
|
|
|
|
repeated Element elements = 3;
|
|
}
|
|
|
|
message ApiField {
|
|
string defining_class = 1;
|
|
string name = 2;
|
|
string type = 3;
|
|
int32 access_flags = 4;
|
|
string initial_value = 5;
|
|
repeated ApiAnnotation annotations = 6;
|
|
string value = 7;
|
|
}
|
|
|
|
message ApiMethod {
|
|
string defining_class = 1;
|
|
string name = 2;
|
|
repeated string parameters = 3;
|
|
string return_type = 4;
|
|
int32 access_flags = 5;
|
|
string known_failure_filter = 6;
|
|
repeated ApiAnnotation annotations = 7;
|
|
}
|
|
|
|
message ApiClass {
|
|
string name = 1;
|
|
string type = 2;
|
|
string super_class = 3;
|
|
repeated string interfaces = 4;
|
|
TestClassType test_class_type = 5;
|
|
int32 access_flags = 6;
|
|
repeated ApiAnnotation annotations = 7;
|
|
repeated ApiMethod methods = 8;
|
|
repeated ApiField fields = 9;
|
|
}
|
|
|
|
message ApiPackage {
|
|
string name = 1;
|
|
string package_file = 2;
|
|
string content_id = 3;
|
|
string op_codes = 4;
|
|
|
|
repeated ApiClass classes = 5;
|
|
string error = 6;
|
|
}
|
|
|
|
enum TestClassType {
|
|
UNKNOWN = 0;
|
|
JUNIT3 = 1;
|
|
JUNIT4 = 2;
|
|
PARAMETERIZED = 3;
|
|
JAVAHOST = 4;
|
|
}
|
|
|
|
message TestSuite {
|
|
string name = 1;
|
|
// Version
|
|
string version = 2;
|
|
// Build Number
|
|
string build_number = 3;
|
|
// Content ID
|
|
string content_id = 4;
|
|
|
|
enum TestType {
|
|
UNKNOWN = 0;
|
|
ANDROIDJUNIT = 1;
|
|
JAVAHOST = 2;
|
|
GTEST = 3;
|
|
LIBCORE = 4;
|
|
DALVIK = 5;
|
|
DEQP = 6;
|
|
}
|
|
|
|
message Module {
|
|
string name = 1;
|
|
string config_file = 2;
|
|
TestType test_type = 3;
|
|
string test_class = 4;
|
|
repeated ApiPackage packages = 5;
|
|
}
|
|
repeated Module modules = 5;
|
|
}
|
|
|
|
message Service {
|
|
string name = 1;
|
|
string file = 2;
|
|
repeated string arguments = 3;
|
|
string clazz = 4;
|
|
string user = 5;
|
|
string group = 6;
|
|
string writepid = 7;
|
|
repeated string options = 8;
|
|
}
|
|
|
|
message Api {
|
|
string name = 1;
|
|
string version = 2;
|
|
// map of Package Name & Package Message
|
|
map<string, ApiPackage> packages = 3;
|
|
}
|
|
|
|
message UsesFeature {
|
|
string name = 1;
|
|
string required = 2;
|
|
}
|
|
|
|
message UsesLibrary {
|
|
string name = 1;
|
|
string required = 2;
|
|
}
|
|
|
|
message AppInfo {
|
|
string package_name = 1;
|
|
string version_code = 2;
|
|
string version_name = 3;
|
|
string sdk_version = 4;
|
|
string target_sdk_version = 5;
|
|
repeated UsesFeature uses_features = 6;
|
|
repeated UsesLibrary uses_libraries = 7;
|
|
repeated string native_code = 8;
|
|
repeated string uses_permissions = 9;
|
|
repeated string activities = 10;
|
|
repeated string services = 11;
|
|
repeated string providers = 12;
|
|
map<string, string> properties = 13;
|
|
repeated ApiPackage external_api_packages = 14;
|
|
repeated ApiPackage internal_api_packages = 15;
|
|
PackageFileContent package_file_content = 16;
|
|
string package_signature = 17;
|
|
}
|
|
|
|
message ImageSection {
|
|
uint32 offset = 1;
|
|
uint32 size = 2;
|
|
}
|
|
|
|
// art/runtime/image.h
|
|
message ArtInfo {
|
|
bool valid = 1;
|
|
// skip magic_[4]
|
|
string version = 2;
|
|
uint32 image_begin = 3;
|
|
uint32 image_size = 4;
|
|
uint32 oat_checksum = 5;
|
|
uint32 oat_file_begin = 6;
|
|
uint32 oat_data_begin = 7;
|
|
uint32 oat_data_end = 8;
|
|
uint32 oat_file_end = 9;
|
|
|
|
// app image headers only
|
|
uint32 boot_image_begin = 10;
|
|
uint32 boot_image_size = 11;
|
|
uint32 boot_oat_begin = 12;
|
|
uint32 boot_oat_size = 13;
|
|
|
|
int32 patch_delta = 14;
|
|
uint32 image_roots = 15;
|
|
uint32 pointer_size = 16;
|
|
uint32 compile_pic = 17;
|
|
uint32 is_pic = 18;
|
|
|
|
repeated ImageSection image_sections = 19;
|
|
repeated uint64 image_methods = 20;
|
|
|
|
uint32 storage_mode = 21;
|
|
uint32 data_size = 22;
|
|
}
|
|
|
|
// art/dex2oat/linker/oat_writer.cc OatDexFile
|
|
message OatDexInfo {
|
|
string dex_file_location_data = 1;
|
|
// The checksum of the dex file.
|
|
uint32 dex_file_location_checksum = 2;
|
|
// Offset of the dex file in the vdex file.
|
|
uint32 dex_file_offset = 3;
|
|
// The lookup table offset in the oat file. Set in WriteTypeLookupTables.
|
|
uint32 lookup_table_offset = 4;
|
|
// Class and BSS offsets set in PrepareLayout.
|
|
uint32 class_offsets_offset = 5;
|
|
uint32 method_bss_mapping_offset = 6;
|
|
uint32 type_bss_mapping_offset = 7;
|
|
uint32 string_bss_mapping_offset = 8;
|
|
// Offset of dex sections that will have different runtime madvise states.
|
|
uint32 dex_sections_layout_offset = 9;
|
|
}
|
|
|
|
// art/runtime/oat.h
|
|
message OatInfo {
|
|
// skip magic_[4]
|
|
string version = 1;
|
|
uint32 adler32_checksum = 2;
|
|
// art/libartbase/arch/instruction_set.h
|
|
|
|
uint32 instruction_set = 3;
|
|
uint32 instruction_set_features_bitmap = 4;
|
|
uint32 dex_file_count = 5;
|
|
uint32 oat_dex_files_offset = 6;
|
|
uint32 executable_offset = 7;
|
|
uint32 interpreter_to_interpreter_bridge_offset = 8;
|
|
uint32 interpreter_to_compiled_code_bridge_offset = 9;
|
|
uint32 jni_dlsym_lookup_offset = 10;
|
|
uint32 quick_generic_jni_trampoline_offset = 11;
|
|
uint32 quick_imt_conflict_trampoline_offset = 12;
|
|
uint32 quick_resolution_trampoline_offset = 13;
|
|
uint32 quick_to_interpreter_bridge_offset = 14;
|
|
|
|
// for backward compatibility, removed from version 162, see aosp/e0669326c0282b5b645aba75160425eef9d57617
|
|
uint32 image_patch_delta = 15;
|
|
|
|
uint32 image_file_location_oat_checksum = 16;
|
|
// for backward compatibility, removed from version 162, see aosp/e0669326c0282b5b645aba75160425eef9d57617
|
|
uint32 image_file_location_oat_data_begin = 17;
|
|
|
|
uint32 key_value_store_size = 18;
|
|
|
|
// int8_t key_value_store_[0];
|
|
map<string, string> key_value_store = 19;
|
|
repeated OatDexInfo oat_dex_info = 20;
|
|
bool valid = 21;
|
|
int32 bits = 22;
|
|
string architecture = 23;
|
|
}
|
|
|
|
message DexSectionHeader {
|
|
uint32 dex_size = 1;
|
|
uint32 dex_shared_data_size = 2;
|
|
uint32 quickening_info_size = 3;
|
|
}
|
|
|
|
// art/runtime/vdex_file.h
|
|
message VdexInfo {
|
|
bool valid = 1;
|
|
|
|
// skip magic_[4]
|
|
string verifier_deps_version = 2;
|
|
string dex_section_version = 3;
|
|
uint32 number_of_dex_files = 4;
|
|
uint32 verifier_deps_size = 5;
|
|
repeated uint32 checksums = 6;
|
|
repeated DexSectionHeader dex_section_headers = 7;
|
|
}
|
|
|
|
message Permission {
|
|
string name = 1;
|
|
repeated Element elements = 2;
|
|
}
|
|
|
|
message PermissionList {
|
|
string name = 1;
|
|
repeated Permission permissions = 2;
|
|
}
|
|
|
|
message PackageFileContent {
|
|
map<string, Entry> entries = 1;
|
|
}
|
|
|
|
// An entry in a release
|
|
message Entry {
|
|
// Name
|
|
string name = 1;
|
|
|
|
enum EntryType {
|
|
FOLDER = 0;
|
|
FILE = 1;
|
|
TEST_MODULE_CONFIG = 2;
|
|
JAR = 3;
|
|
APK = 4;
|
|
EXE = 5;
|
|
SO = 6;
|
|
OAT = 7;
|
|
ODEX = 8;
|
|
VDEX = 9;
|
|
TEST_SUITE_TRADEFED = 10;
|
|
BUILD_PROP = 11;
|
|
SYMBOLIC_LINK = 12;
|
|
RC = 13;
|
|
ART = 14;
|
|
XML = 15;
|
|
IMG = 16;
|
|
}
|
|
// Type
|
|
EntryType type = 2;
|
|
|
|
// Size
|
|
int64 size = 3;
|
|
// Content ID
|
|
string content_id = 4;
|
|
// code_id
|
|
string code_id = 5;
|
|
// Parent folder
|
|
string abi_architecture = 6;
|
|
int32 abi_bits = 7;
|
|
string parent_folder = 8;
|
|
// Relative path
|
|
string relative_path = 9;
|
|
|
|
repeated string dependencies = 10;
|
|
repeated string dynamic_loading_dependencies = 11;
|
|
|
|
// file type specified info
|
|
AppInfo app_info = 12;
|
|
ArtInfo art_info = 13;
|
|
OatInfo oat_info = 14;
|
|
VdexInfo vdex_info = 15;
|
|
// TestModule.config message
|
|
TestModuleConfig test_module_config = 16;
|
|
// Native services
|
|
repeated Service services = 17;
|
|
// Device permissions
|
|
map<string, PermissionList> device_permissions = 18;
|
|
// property map(key,value)
|
|
map<string, string> properties = 19;
|
|
}
|
|
|
|
enum ReleaseType {
|
|
DEVICE_BUILD = 0;
|
|
TEST_SUITE = 1;
|
|
APP_DISTRIBUTION_PACKAGE = 2;
|
|
}
|
|
|
|
message ReleaseContent {
|
|
// Name
|
|
string name = 1;
|
|
// Version
|
|
string version = 2;
|
|
// Build Number
|
|
string build_number = 3;
|
|
// Full name
|
|
string fullname = 4;
|
|
// release uid e.g. Build Fingerprint
|
|
string release_id = 5;
|
|
// Content id
|
|
string content_id = 6;
|
|
// Size in byte
|
|
int64 size = 7;
|
|
ReleaseType release_type = 8;
|
|
// property map(key,value)
|
|
map<string, string> properties = 9;
|
|
// File Entry map(relative_path, entry)
|
|
map<string, Entry> entries = 10;
|
|
|
|
// Test Suite specific
|
|
string test_suite_tradefed = 11;
|
|
string target_arch = 12;
|
|
repeated string known_failures = 13;
|
|
}
|
|
// [END messages] |