| #!/usr/bin/env bash |
| # Copyright 2021 The ChromiumOS Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| # |
| # To build crosvm using cargo against libraries and crates provided by ChromeOS |
| # use this script to update path references in Cargo.toml. |
| |
| set -e |
| |
| CARGO_PATH=$(dirname "$0")/../../Cargo.toml |
| |
| if ! git diff "${CARGO_PATH}"; then |
| echo "There is pending Cargo.toml changes, please clean first." |
| exit 1 |
| fi |
| |
| declare -A replacements=( |
| ["libcras_stub"]="../../third_party/adhd/cras/client/libcras" |
| ["system_api_stub"]="../../platform2/system_api" |
| ["third_party/minijail"]="../../aosp/external/minijail" |
| ) |
| |
| for crate in "${!replacements[@]}"; do |
| echo "Replacing '${crate}' with '${replacements[$crate]}'" |
| sed -i "s|path = \"${crate}|path = \"${replacements[$crate]}|g" \ |
| "${CARGO_PATH}" |
| done |
| |
| git commit "${CARGO_PATH}" -m 'crosvm: DO NOT SUBMIT: Cargo.toml changes. |
| |
| This is for local cargo {build,test} in your CrOS checkout. |
| Please do not submit this change. |
| |
| BUG=None |
| TEST=None |
| |
| Commit: false |
| ' |
| |
| echo "Modified Cargo.toml with new paths. Please do not submit the change." |