xref: /aosp_15_r20/external/crosvm/system_api/update_bindings.sh (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker#!/usr/bin/env bash
2*bb4ee6a4SAndroid Build Coastguard Worker# Copyright 2022 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 WorkerSTUB_DIR=$(dirname "$0")
7*bb4ee6a4SAndroid Build Coastguard WorkerSYSTEM_API_DIR="$HOME/chromiumos/src/platform2/system_api"
8*bb4ee6a4SAndroid Build Coastguard Worker
9*bb4ee6a4SAndroid Build Coastguard Workerif ! [ -e "$SYSTEM_API_DIR" ]; then
10*bb4ee6a4SAndroid Build Coastguard Worker    echo "This script must be run from a ChromeOS checkout and inside cros_sdk."
11*bb4ee6a4SAndroid Build Coastguard Workerfi
12*bb4ee6a4SAndroid Build Coastguard Worker
13*bb4ee6a4SAndroid Build Coastguard Worker# The system_api build.rs will generate bindings in $SYSTEM_API_DIR/src
14*bb4ee6a4SAndroid Build Coastguard Worker(cd "$SYSTEM_API_DIR" && cargo build)
15*bb4ee6a4SAndroid Build Coastguard Worker
16*bb4ee6a4SAndroid Build Coastguard WorkerFILES=(
17*bb4ee6a4SAndroid Build Coastguard Worker    "src/bindings/client/org_chromium_spaced.rs"
18*bb4ee6a4SAndroid Build Coastguard Worker    "src/bindings/client/org_chromium_vtpm.rs"
19*bb4ee6a4SAndroid Build Coastguard Worker    "src/bindings/client/org_chromium_power_manager.rs"
20*bb4ee6a4SAndroid Build Coastguard Worker    "src/protos/spaced.rs"
21*bb4ee6a4SAndroid Build Coastguard Worker    "src/protos/vtpm_interface.rs"
22*bb4ee6a4SAndroid Build Coastguard Worker)
23*bb4ee6a4SAndroid Build Coastguard Worker
24*bb4ee6a4SAndroid Build Coastguard Workerfor FILE in "${FILES[@]}"; do
25*bb4ee6a4SAndroid Build Coastguard Worker    TARGET_DIR=$(dirname "$STUB_DIR/$FILE")
26*bb4ee6a4SAndroid Build Coastguard Worker    mkdir -p "$TARGET_DIR"
27*bb4ee6a4SAndroid Build Coastguard Worker    cp "$SYSTEM_API_DIR/$FILE" "$TARGET_DIR"
28*bb4ee6a4SAndroid Build Coastguard Workerdone
29