blob: 1197bab2264feae289894a60344d0184f7ea3fba [file] [log] [blame]
David Burgerc33d1eb2020-01-21 14:24:50 -07001#!/bin/bash -e
2#
3# Copyright 2020 The Chromium OS Authors. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6#
7# Runs protoc over the configuration protos to produce generated proto code.
8
David Burger1b845362020-02-13 14:43:37 -07009# Allows the recursive glob for proto files below to work.
10shopt -s globstar
11
David Burgerc33d1eb2020-01-21 14:24:50 -070012# Versions of packages to get from CIPD.
13CIPD_PROTOC_VERSION='v3.6.1'
14
15# Move to this script's directory.
16cd "$(dirname "$0")"
17
18# Get protobuf compiler from CIPD.
19cipd_root=.cipd_bin
20cipd ensure \
21 -log-level warning \
22 -root "${cipd_root}" \
23 -ensure-file - \
24 <<ENSURE_FILE
25infra/tools/protoc/\${platform} protobuf_version:${CIPD_PROTOC_VERSION}
26ENSURE_FILE
27
28PATH="${cipd_root}:${PATH}"
29
David Burger1b845362020-02-13 14:43:37 -070030# Collect all the protos and add a src/config prefix.
31protos=(proto/**/*.proto)
32protos=( ${protos[@]/#/src/config/} )
33
34protoc -I../../ --descriptor_set_out=starlark/bindings/descpb.bin \
Andrew Lambeceaec02020-02-11 14:16:41 -070035 --python_out=payload_utils/bindings \
David Burger1b845362020-02-13 14:43:37 -070036 "${protos[@]}"