1*bb4ee6a4SAndroid Build Coastguard Worker#!/usr/bin/env bash 2*bb4ee6a4SAndroid Build Coastguard Worker# Copyright 2021 The ChromiumOS Authors 3*bb4ee6a4SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 4*bb4ee6a4SAndroid Build Coastguard Worker# found in the LICENSE file. 5*bb4ee6a4SAndroid Build Coastguard Worker# 6*bb4ee6a4SAndroid Build Coastguard Worker# To build crosvm using cargo against libraries and crates provided by ChromeOS 7*bb4ee6a4SAndroid Build Coastguard Worker# use this script to update path references in Cargo.toml. 8*bb4ee6a4SAndroid Build Coastguard Worker 9*bb4ee6a4SAndroid Build Coastguard Workerset -e 10*bb4ee6a4SAndroid Build Coastguard Worker 11*bb4ee6a4SAndroid Build Coastguard WorkerCARGO_PATH=$(dirname "$0")/../../Cargo.toml 12*bb4ee6a4SAndroid Build Coastguard Worker 13*bb4ee6a4SAndroid Build Coastguard Workerif ! git diff "${CARGO_PATH}"; then 14*bb4ee6a4SAndroid Build Coastguard Worker echo "There is pending Cargo.toml changes, please clean first." 15*bb4ee6a4SAndroid Build Coastguard Worker exit 1 16*bb4ee6a4SAndroid Build Coastguard Workerfi 17*bb4ee6a4SAndroid Build Coastguard Worker 18*bb4ee6a4SAndroid Build Coastguard Workerdeclare -A replacements=( 19*bb4ee6a4SAndroid Build Coastguard Worker ["libcras_stub"]="../../third_party/adhd/cras/client/libcras" 20*bb4ee6a4SAndroid Build Coastguard Worker ["system_api_stub"]="../../platform2/system_api" 21*bb4ee6a4SAndroid Build Coastguard Worker ["third_party/minijail"]="../../aosp/external/minijail" 22*bb4ee6a4SAndroid Build Coastguard Worker) 23*bb4ee6a4SAndroid Build Coastguard Worker 24*bb4ee6a4SAndroid Build Coastguard Workerfor crate in "${!replacements[@]}"; do 25*bb4ee6a4SAndroid Build Coastguard Worker echo "Replacing '${crate}' with '${replacements[$crate]}'" 26*bb4ee6a4SAndroid Build Coastguard Worker sed -i "s|path = \"${crate}|path = \"${replacements[$crate]}|g" \ 27*bb4ee6a4SAndroid Build Coastguard Worker "${CARGO_PATH}" 28*bb4ee6a4SAndroid Build Coastguard Workerdone 29*bb4ee6a4SAndroid Build Coastguard Worker 30*bb4ee6a4SAndroid Build Coastguard Workergit commit "${CARGO_PATH}" -m 'crosvm: DO NOT SUBMIT: Cargo.toml changes. 31*bb4ee6a4SAndroid Build Coastguard Worker 32*bb4ee6a4SAndroid Build Coastguard WorkerThis is for local cargo {build,test} in your CrOS checkout. 33*bb4ee6a4SAndroid Build Coastguard WorkerPlease do not submit this change. 34*bb4ee6a4SAndroid Build Coastguard Worker 35*bb4ee6a4SAndroid Build Coastguard WorkerBUG=None 36*bb4ee6a4SAndroid Build Coastguard WorkerTEST=None 37*bb4ee6a4SAndroid Build Coastguard Worker 38*bb4ee6a4SAndroid Build Coastguard WorkerCommit: false 39*bb4ee6a4SAndroid Build Coastguard Worker' 40*bb4ee6a4SAndroid Build Coastguard Worker 41*bb4ee6a4SAndroid Build Coastguard Workerecho "Modified Cargo.toml with new paths. Please do not submit the change." 42