#!/bin/bash -e # Copyright 2020 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # Obtain the most recent proto descriptors from chromiumos/infra/proto protos. # This is needed to work with these protos from *.star code. set -eu CROS_CONFIG_REPO="https://chromium.googlesource.com/chromiumos/config" CIPD_PROTOC_VERSION='v3.6.1' CIPD_PROTOC_GEN_GO_VERSION='v1.3.2' readonly script_dir="$(dirname "$(realpath -e "${BASH_SOURCE[0]}")")" readonly target="${script_dir}/proto/descpb.bin" readonly work_dir=$(mktemp --tmpdir -d genprotodescXXXXXX) trap "rm -rf ${work_dir}" EXIT echo "Using temporary directory ${work_dir}" if [[ -n ${CHROMIUMOS_CONFIG_DIR+x} ]]; then echo "CHROMIUMOS_CONFIG_DIR is set: " \ "Copying sources from ${CHROMIUMOS_CONFIG_DIR}/" cp -r "${CHROMIUMOS_CONFIG_DIR}/" "${work_dir}/config" else echo "Creating a shallow clone of ${CROS_CONFIG_REPO}" git clone -q --depth=1 --shallow-submodules "${CROS_CONFIG_REPO}" \ "${work_dir}/config" fi readonly cros_config_subdir="config/proto" echo "Grabbing protoc from CIPD" cipd_root=.cipd_bin cipd ensure \ -log-level warning \ -root "${cipd_root}" \ -ensure-file - \ <