#!/bin/bash
# Copyright 2020 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Fetches corresponding dart sdk from CIPD for different platforms, builds
# an executable binary of bin/generate_jspb.dart to `build` folder.
#
# This only supports Linux, but can be generalized for Windows and Mac.

set -e

command -v cipd > /dev/null || {
  echo "Please install CIPD (available from depot_tools) and add to path first.";
  exit -1;
}

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd)"

cipd ensure -ensure-file $DIR/ensure_file -root $DIR

pushd $DIR/..

if [[ -d "build" ]]; then
  echo "Please remove the build directory before proceeding"
  exit -1
fi

mkdir -p build
tool/dart-sdk/bin/dart pub get
tool/dart-sdk/bin/dart compile exe bin/generate_jspb.dart -o build/ci_yaml_jspb

# Definitions related to uploading packages to CIPD
echo "# This file was auto-generated by Cocoon
# For more information, see https://github.com/flutter/cocoon
#
# This file defines information related to CIPD for distribution of generate_jspb.
package: flutter/ci_yaml/generate_jspb/linux-amd64
description: Binary to convert a ci.yaml to a JSON proto, which is readable by flutter.googlesource.com/infra.
data:
  - file: ci_yaml_jspb
" > build/cipd.yaml

popd
