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

### Updates rustc_library and rustc_binary third_party dependencies

## usage: fx update-rustc-third-party
## Updates third_party/rust-crates/rustc_deps based on the contents of
## third_party/rust-crates/rustc_deps/Cargo.toml
##
## After updating third_party/rust-crates/rustc_deps, the pinned revision of
## third_party/rust-crates will need to be updated in garnet/manifest/third_party.
## See https://fuchsia.googlesource.com/docs/+/master/development/languages/rust/third_party.md
## for more details.

source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"/lib/vars.sh

case "$(uname -s)" in
  Linux*) OS=linux-x64;;
  Darwin*) OS=mac-x64;;
  *) echo "Error: unrecognized OS"; exit 1;;
esac

export RUSTC=$FUCHSIA_DIR/buildtools/$OS/rust/bin/rustc
(cd $FUCHSIA_DIR; $FUCHSIA_DIR/buildtools/$OS/rust/bin/cargo run \
  --manifest-path $FUCHSIA_DIR/third_party/rust-mirrors/cargo-vendor/Cargo.toml \
  -- vendor --sync $FUCHSIA_DIR/third_party/rust-crates/rustc_deps/Cargo.toml \
  $FUCHSIA_DIR/third_party/rust-crates/rustc_deps/vendor)

python $FUCHSIA_DIR/scripts/rust/check_rust_licenses.py \
  --directory $FUCHSIA_DIR/third_party/rust-crates/rustc_deps/vendor
