0
0
mirror of https://github.com/signalapp/libsignal.git synced 2024-09-20 03:52:17 +02:00
libsignal/bin/verify_duplicate_crates
Jordan Rose d551d0912e verify_duplicate_crates: Run specifically on the mobile targets
Previously this ran only for the host target, which fortunately
matched the mobile results for our development platforms and CI.
2023-10-13 14:13:23 -07:00

35 lines
972 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.
#
# For now, these dependencies have conflicting requirements.
# You can use the `cargo tree` command below to see where they come from,
# and then document them here.
#
# bitflags:
# mostly provides a macro, with only a small bit of code that actually
# makes it into the final build.
EXPECTED="
bitflags v1.3.2
bitflags v2.3.3"
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