#!/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.
#
# Runs protoc over the configuration protos to produce generated proto code.

# Allows the recursive glob for proto files below to work.
shopt -s globstar

readonly script_dir="$(dirname "$(realpath -e "${BASH_SOURCE[0]}")")"
# Move to this script's directory.
cd "${script_dir}"
# Uses ${script_dir}
source "./setup_cipd.sh"

# Remove files from prior python protocol buffer code generation in
# case any .proto files have been removed.
find python/ -type f -name '*_pb2.py' -delete
find python/chromiumos -mindepth 1 -type d -not -name __pycache__ \
  -exec rm -f '{}/__init__.py' \;

# Collect all the protos.
protos=(proto/**/*.proto)

PATH="${CIPD_ROOT}" protoc -Iproto \
  --descriptor_set_out=util/bindings/descpb.bin \
  --python_out=python "${protos[@]}"
find python/chromiumos -mindepth 1 -type d -not -name __pycache__ \
  -exec touch '{}/__init__.py' \;


# Go bindings are already namespaced under go.chromium.org/chromiumos/config/go
# We remove the "chromiumos/config" prefix from local path to avoid redundant
# namespaceing.

# Remove files from prior go protocol buffer code generation in
# case any .proto files have been removed.
find go/ -name '*pb.go' -delete

readonly GO_TEMP_DIR=$(mktemp -d)
trap "rm -rf ${GO_TEMP_DIR}" EXIT
# Go files need to be processed individually until this is fixed:
# https://github.com/golang/protobuf/issues/39
for proto in "${protos[@]}"; do
  PATH="${CIPD_ROOT}" protoc -I"proto" \
    --go_out=plugins=grpc,paths=source_relative:"${GO_TEMP_DIR}" \
    "${proto}"
done

cp -rf "${GO_TEMP_DIR}"/chromiumos/config/* go/
cp "${GO_TEMP_DIR}"/chromiumos/*.go go/
cp "${GO_TEMP_DIR}"/chromiumos/longrunning/*.go go/longrunning
cp -rf "${GO_TEMP_DIR}"/chromiumos/build/* go/build/
cp -rf "${GO_TEMP_DIR}"/chromiumos/test/* go/test
