1// Copyright 2021 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.build.api; 8 9option go_package = "go.chromium.org/chromiumos/config/go/build/api"; 10 11import "chromiumos/build/api/portage.proto"; 12 13// Defines config used to generate Chrome OS system image builds. 14message SystemImage { 15 ImageId id = 1; // universally unique ID representing the build 16 BuildMetadata metadata = 2; // metadata about the system image 17 18 message ImageId { 19 string value = 1; 20 } 21 22 // Defines build target config required to generate a Chrome OS system image. 23 // See: 24 // https://chromium.googlesource.com/chromiumos/docs/+/HEAD/developer_guide.md#Build-a-disk-image-for-your-board 25 message BuildTarget { 26 Portage.BuildTarget portage_build_target = 1; 27 } 28 29 message BuildMetadata { 30 // Information passed to portage as part of the build. 31 BuildTarget build_target = 1; 32 PackageSummary package_summary = 2; 33 repeated Portage.Package packages = 3; 34 35 // Provides a summary of common key packages used in the build. 36 message PackageSummary { 37 Arc arc = 1; 38 AshChrome chrome = 2; 39 Chipset chipset = 3; 40 Kernel kernel = 4; 41 Toolchain toolchain = 5; 42 } 43 44 // package-specific meta data for VIPs (very important packages). Wrapped 45 // in their own message to let us extend them in the future. 46 47 message Arc { 48 string version = 1; 49 string branch = 2; 50 } 51 52 message AshChrome { 53 string version = 1; 54 } 55 56 message Chipset { 57 // Name of the chipset overlay used (e.g. src/overlays/chipset-[VALUE] 58 // Chipsets are SoC family based, so this allows overlays and kernels 59 // to be correlated on a per-soc-family basis. 60 string overlay = 1; 61 } 62 63 message Kernel { 64 string version = 1; 65 } 66 67 message Toolchain { 68 string version = 1; 69 } 70 } 71 72 // Used to serialize build metadata reports to proto[json|text|binary] 73 message BuildMetadataList { 74 repeated BuildMetadata values = 1; 75 } 76} 77