Files
shorebird-updater/library/Cargo.toml
T
Bryan Oltman 76f005940d feat: add uuid to updater state, patch check request (#300)
* feat: add uuid to updater state

* add client_id to patch check request

* cleanup

* comments

* cleanup

* more comments

* delete commented-out code

* Update library/src/cache/updater_state.rs

Co-authored-by: Eric Seidel <eric@shorebird.dev>

* formatting

---------

Co-authored-by: Eric Seidel <eric@shorebird.dev>
2025-10-29 15:57:06 -04:00

83 lines
2.7 KiB
TOML

[package]
name = "updater"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
# "lib" is used by the "cli" target for testing from Rust
# "cdylib" is used by the "dart_cli" target for testing from Dart
# "staticlib" is used by the engine build for linking into libflutter.so
crate-type = ["lib", "cdylib", "staticlib"]
[dependencies]
# Used for error handling for now.
anyhow = { version = "1.0.69", features = ["backtrace"] }
base64 = "0.22.0"
# For inflating compressed patch files.
bipatch = "1.0.0"
# Used for exposing C API
# comde is a wrapper around several compression libraries.
# We only use zstd and could depend on it directly instead.
comde = { version = "0.2.3", default-features = false, features = [
"zstandard",
] }
dyn-clone = "1.0.16"
# For decoding the hex-encoded hashes in Patch network responses.
hex = "0.4.3"
# Used to construct mock responses.
http = "1.2.0"
libc = "0.2.98"
# For error!(), info!(), etc macros. `print` will not show up on Android.
log = "0.4.14"
# For implementing thread-local-storage of ResolvedConfig object.
once_cell = "1.17.1"
# Json serialization/de-serialization.
# Pipe is a simple in-memory pipe implementation, there might be a std way too?
pipe = "0.4.0"
# Used for networking.
reqwest = { version = "0.12", default-features = false, features = [
"blocking",
"json",
"rustls-tls",
] }
ring = "0.17.8"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.93"
# For reading shorebird.yaml
serde_yaml = "0.9.19"
# For computing hashes of patch files for validation.
sha2 = "0.10.6"
uuid = { version = "1.18.1", features = ["v4"] }
# For decompressing .apk files.
zip = { version = "0.6.4", default-features = false, features = ["deflate"] }
[target.'cfg(target_os = "android")'.dependencies]
# For logging to Android logcat.
android_logger = "0.13.0"
# Send panics to log (instead of stderr), thus logcat on Android.
log-panics = { version = "2", features = ["with-backtrace"] }
[target.'cfg(any(target_os = "ios", target_os = "macos"))'.dependencies]
# Send panics to syslog (instead of stderr).
log-panics = { version = "2", features = ["with-backtrace"] }
# Support for logging on iOS (https://developer.apple.com/documentation/oslog)
oslog = "0.2.0"
[target.'cfg(any(target_os = "linux", target_os = "windows"))'.dependencies]
simple_logger = "5.0.0"
[dev-dependencies]
mockall = "0.12.1"
mockito = "1.2.0"
mock_instant = "0.5.1"
# Gives #[serial] attribute for locking all of our shorebird_init
# tests to a single thread so they don't conflict with each other.
serial_test = "2.0.0"
tempdir = "0.3.7"
# <https://github.com/eqrion/cbindgen/blob/master/docs.md#buildrs>
[build-dependencies]
cbindgen = "0.24.0"