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