0
0
mirror of https://github.com/signalapp/libsignal.git synced 2024-09-20 03:52:17 +02:00
libsignal/bin/verify_duplicate_crates
2023-10-16 11:37:26 -07:00

31 lines
856 B
Bash
Executable File

#!/bin/bash
#
# Copyright 2021 Signal Messenger, LLC.
# SPDX-License-Identifier: AGPL-3.0-only
#
# To keep code size down, we try to avoid depending on multiple versions of crates.
#
# Sometimes we decide it's okay for certain dependencies.
# You can use the `cargo tree` command below to see where they come from,
# and then document them here.
#
# (no duplicate crates at this time)
EXPECTED=""
check_cargo_tree() {
# Only check the mobile targets, where we care most about code size.
cargo tree --quiet --duplicates --edges normal,no-proc-macro \
--workspace --all-features --locked \
--target aarch64-apple-ios \
--target armv7-linux-androideabi \
--target aarch64-linux-android \
"$@"
}
if [[ "$(check_cargo_tree --depth 0 | sort -u -V)" != "${EXPECTED}" ]]; then
check_cargo_tree
exit 1
fi