1// Copyright 2022 The ChromiumOS Authors 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5syntax = "proto3"; 6 7package chromiumos.test.api; 8 9option go_package = "go.chromium.org/chromiumos/config/go/test/api"; 10 11// Next Tag: 5 12message ApkDetails { 13 // Supported Android architectures. 14 enum Architecture { 15 ARCHITECTURE_UNSPECIFIED = 0; 16 ARMV7 = 1; 17 ARM64 = 2; 18 X86 = 3; 19 X86_64 = 4; 20 } 21 Architecture architecture = 1; 22 23 // Supported APK build types. 24 enum BuildType { 25 BUILD_TYPE_UNSPECIFIED = 0; 26 PHONE_PRE_LMP = 1; 27 PHONE_LMP = 2; 28 PHONE_MNC = 3; 29 PHONE_PI = 4; 30 PHONE_RVC = 5; 31 PHONE_SC = 6; 32 PHONE_NEXT = 7; 33 PHONE_GO = 8; 34 PHONE_GO_R = 9; 35 PHONE_GO_S = 10; 36 } 37 BuildType build_type = 2; 38 39 // Supported APK build purposes. 40 enum BuildPurpose { 41 BUILD_PURPOSE_UNSPECIFIED = 0; 42 RAW = 1; 43 RELEASE = 2; 44 DEBUG = 3; 45 DEBUG_SHRUNK = 4; 46 } 47 BuildPurpose build_purpose = 3; 48 49 // Supported APK densities. 50 enum Density { 51 DENSITY_UNSPECIFIED = 0; 52 MDPI = 1; 53 HDPI = 2; 54 XHDPI = 3; 55 XXHDPI = 4; 56 ALLDPI = 5; 57 } 58 Density density = 4; 59} 60 61enum AndroidPackage { 62 ANDROID_PACKAGE_UNSPECIFIED = 0; 63 GMS_CORE = 1; 64} 65 66// Next Tag: 8 67message CIPDPackage { 68 // CIPD package name. 69 string name = 1; 70 71 // Required. CIPD package version. 72 // Can be defined by ref, tag or specific instance Id. 73 oneof version_oneof { 74 string ref = 2; 75 string tag = 3; 76 string instance_id = 4; 77 } 78 79 // CIPD server URL to fetch this package from. 80 // chrome-infra-packages.appspot.com is used by default. 81 string service_url = 5; 82 83 // Required. Android package type. 84 AndroidPackage android_package = 6; 85 86 // APK details (arch, build type, screen density) 87 ApkDetails apk_details = 7; 88} 89 90// Next Tag: 4 91message GsPath { 92 reserved 3; 93 // GS bucket. Optional, android-provisioning-images is used by default. 94 string bucket = 1; 95 // Required. Folder name where the image files are stored. 96 string folder = 2; 97} 98 99// Next Tag: 3 100message AndroidOsImage { 101 // Required. Reference to the image file. 102 oneof location_oneof { 103 GsPath gs_path = 1; 104 string os_version = 2; 105 } 106} 107 108// Next Tag: 3 109message AndroidProvisionRequestMetadata { 110 // A list of CIPD packages to install. 111 repeated CIPDPackage cipd_packages = 1; 112 // Android OS image to flash. 113 AndroidOsImage android_os_image = 2; 114} 115 116// Next Tag: 3 117message InstalledAndroidPackage { 118 // Name of the installed package. 119 string name = 1; 120 // Version of the installed package. 121 string version_code = 2; 122} 123 124// Next Tag: 4 125message InstalledAndroidOS { 126 // Android OS build ID (ro.build.id). 127 string build_id = 1; 128 // Android OS version (ro.build.version.release). 129 string os_version = 2; 130 // Android OS build incremental version (ro.build.version.incremental). 131 string incremental_version = 3; 132} 133 134// Next Tag: 3 135message AndroidProvisionResponseMetadata { 136 // List of the provisioned Android packages. 137 repeated InstalledAndroidPackage installed_android_packages = 1; 138 // Installed Android OS. 139 InstalledAndroidOS installed_android_os = 2; 140} 141