mirror of
https://github.com/signalapp/libsignal.git
synced 2026-04-25 17:25:18 +02:00
49 lines
1.2 KiB
Bash
Executable File
49 lines
1.2 KiB
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.
|
|
#
|
|
# thiserror: minimal and highly inlinable, most of the code is synthesized at the use site
|
|
# rand_core, getrandom: waiting to update all the RustCrypto crates together
|
|
EXPECTED="
|
|
getrandom v0.2.16
|
|
getrandom v0.3.4
|
|
rand_core v0.6.4
|
|
rand_core v0.9.3
|
|
thiserror v1.0.69
|
|
thiserror v2.0.17"
|
|
|
|
check_cargo_tree() {
|
|
# Only check the mobile targets, where we care most about code size.
|
|
cargo tree \
|
|
-p libsignal-node -p libsignal-jni -p libsignal-ffi \
|
|
--quiet --duplicates --edges normal,no-proc-macro \
|
|
--all-features --locked \
|
|
--target aarch64-apple-ios \
|
|
--target armv7-linux-androideabi \
|
|
--target aarch64-linux-android \
|
|
"$@"
|
|
}
|
|
|
|
ACTUAL="$(check_cargo_tree --depth 0 | sort -u -V)"
|
|
if [[ "${ACTUAL}" != "${EXPECTED}" ]]; then
|
|
cat <<EOF
|
|
----- EXPECTED -----
|
|
${EXPECTED}
|
|
|
|
------ ACTUAL ------
|
|
${ACTUAL}
|
|
|
|
EOF
|
|
check_cargo_tree
|
|
exit 1
|
|
fi
|