Files
matrix-rust-sdk/Cargo.toml
T

206 lines
6.9 KiB
TOML
Raw Normal View History

[workspace]
members = [
"benchmarks",
"bindings/matrix-sdk-crypto-ffi",
"bindings/matrix-sdk-ffi",
"crates/*",
"examples/*",
"labs/*",
2025-05-22 22:17:38 +02:00
"testing/*",
2023-02-01 11:22:28 +01:00
"uniffi-bindgen",
"xtask",
]
2025-05-22 22:17:38 +02:00
exclude = ["testing/data"]
2023-07-05 10:51:54 +02:00
# xtask, testing and the bindings should only be built when invoked explicitly.
default-members = ["benchmarks", "crates/*", "labs/*"]
2022-05-17 10:24:28 +02:00
resolver = "2"
2022-11-03 15:58:49 +01:00
[workspace.package]
2025-07-22 11:26:26 +02:00
rust-version = "1.88"
2022-11-03 15:58:49 +01:00
[workspace.dependencies]
2025-09-01 12:24:17 +02:00
anyhow = "1.0.99"
2023-07-28 16:38:19 +02:00
aquamarine = "0.6.0"
2025-05-22 22:17:38 +02:00
as_variant = "1.3.0"
assert-json-diff = "2.0.2"
2023-03-30 15:54:31 +02:00
assert_matches = "1.5.0"
assert_matches2 = "0.1.2"
2025-09-01 12:24:17 +02:00
async-compat = "0.2.5"
2023-08-01 15:23:42 +02:00
async-rx = "0.1.3"
2025-09-01 12:24:17 +02:00
# Bumping this to 0.3.6 produces a test failure because the semantic between the
# versions changed subtly.
async-stream = "0.3.5"
2025-09-01 12:24:17 +02:00
async-trait = "0.1.89"
base64 = "0.22.1"
2025-09-01 12:24:17 +02:00
bitflags = "2.9.3"
byteorder = "1.5.0"
2025-09-01 12:24:17 +02:00
cfg-if = "1.0.3"
clap = "4.5.46"
chrono = "0.4.41"
dirs = "6.0.0"
2025-04-04 09:19:20 +02:00
eyeball = { version = "0.8.8", features = ["tracing"] }
eyeball-im = { version = "0.7.0", features = ["tracing"] }
eyeball-im-util = "0.9.0"
futures-core = "0.3.31"
2025-01-31 11:24:05 +01:00
futures-executor = "0.3.31"
futures-util = "0.3.31"
2025-01-31 11:24:05 +01:00
getrandom = { version = "0.2.15", default-features = false }
gloo-timers = "0.3.0"
growable-bloom-filter = "2.1.1"
hkdf = "0.12.4"
hmac = "0.12.1"
2025-09-01 12:24:17 +02:00
http = "1.3.1"
2025-04-04 09:19:20 +02:00
imbl = "5.0.0"
2025-09-01 12:24:17 +02:00
indexmap = "2.11.0"
insta = { version = "1.43.1", features = ["json", "redactions"] }
2025-01-31 11:24:05 +01:00
itertools = "0.14.0"
2025-09-01 12:24:17 +02:00
js-sys = "0.3.77"
mime = "0.3.17"
oauth2 = { version = "5.0.0", default-features = false, features = ["reqwest", "timing-resistant-secret-traits"] }
2025-09-01 12:24:17 +02:00
once_cell = "1.21.3"
pbkdf2 = { version = "0.12.2" }
2025-01-31 11:24:05 +01:00
pin-project-lite = "0.2.16"
proptest = { version = "1.6.0", default-features = false, features = ["std"] }
rand = "0.8.5"
2025-09-01 12:24:17 +02:00
reqwest = { version = "0.12.23", default-features = false }
rmp-serde = "1.3.0"
2025-09-03 15:49:48 +02:00
ruma = { version = "0.13.0", features = [
2024-03-18 20:37:16 +01:00
"client-api-c",
"compat-upload-signatures",
"compat-arbitrary-length-ids",
"compat-tag-info",
2024-05-23 08:19:43 +02:00
"compat-encrypted-stickers",
2025-07-03 15:42:56 +02:00
"compat-lax-room-create-deser",
2025-07-04 20:34:48 +02:00
"compat-lax-room-topic-deser",
2024-03-18 20:37:16 +01:00
"unstable-msc3401",
"unstable-msc3488",
"unstable-msc3489",
"unstable-msc4075",
"unstable-msc4140",
"unstable-msc4143",
2024-11-21 13:22:53 +01:00
"unstable-msc4171",
"unstable-msc4222",
2025-05-07 18:04:25 +02:00
"unstable-msc4278",
2025-05-26 16:38:03 +01:00
"unstable-msc4286",
"unstable-msc4306",
"unstable-msc4308"
] }
2025-09-01 12:24:17 +02:00
sentry = { version = "0.42.0", default-features = false }
2025-08-30 14:58:12 +02:00
sentry-tracing = "0.42.0"
2025-09-01 12:24:17 +02:00
serde = { version = "1.0.219", features = ["rc"] }
2025-01-31 11:24:05 +01:00
serde_html_form = "0.2.7"
2025-09-01 12:24:17 +02:00
serde_json = "1.0.143"
sha2 = "0.10.9"
similar-asserts = "1.7.0"
2023-09-06 13:29:57 +02:00
stream_assert = "0.1.1"
2025-09-01 12:24:17 +02:00
tempfile = "3.21.0"
thiserror = "2.0.16"
tokio = { version = "1.47.1", default-features = false, features = ["sync"] }
2025-01-31 11:24:05 +01:00
tokio-stream = "0.1.17"
2025-08-30 14:58:12 +02:00
tracing = { version = "0.1.41", default-features = false, features = ["std"] }
2025-09-01 12:24:17 +02:00
tracing-appender = "0.2.3"
2025-08-30 14:58:12 +02:00
tracing-core = "0.1.34"
tracing-subscriber = "0.3.20"
unicode-normalization = "0.1.24"
2024-07-09 11:22:56 +02:00
uniffi = { version = "0.28.0" }
uniffi_bindgen = { version = "0.28.0" }
2025-09-01 12:24:17 +02:00
url = "2.5.7"
uuid = "1.18.0"
2025-09-01 12:57:39 +02:00
vergen-gitcl = "1.0.8"
2025-01-31 10:24:46 +01:00
vodozemac = { version = "0.9.0", features = ["insecure-pk-encryption"] }
wasm-bindgen = "0.2.84"
2025-05-22 11:23:41 +02:00
wasm-bindgen-test = "0.3.50"
web-sys = "0.3.69"
2025-09-01 12:24:17 +02:00
wiremock = "0.6.5"
zeroize = "1.8.1"
2025-09-04 13:09:58 +02:00
matrix-sdk = { path = "crates/matrix-sdk", version = "0.14.0", default-features = false }
matrix-sdk-base = { path = "crates/matrix-sdk-base", version = "0.14.0" }
matrix-sdk-common = { path = "crates/matrix-sdk-common", version = "0.14.0" }
matrix-sdk-crypto = { path = "crates/matrix-sdk-crypto", version = "0.14.0" }
matrix-sdk-ffi-macros = { path = "bindings/matrix-sdk-ffi-macros", version = "0.7.0" }
2025-09-04 13:09:58 +02:00
matrix-sdk-indexeddb = { path = "crates/matrix-sdk-indexeddb", version = "0.14.0", default-features = false }
matrix-sdk-qrcode = { path = "crates/matrix-sdk-qrcode", version = "0.14.0" }
matrix-sdk-sqlite = { path = "crates/matrix-sdk-sqlite", version = "0.14.0", default-features = false }
matrix-sdk-store-encryption = { path = "crates/matrix-sdk-store-encryption", version = "0.14.0" }
matrix-sdk-test = { path = "testing/matrix-sdk-test", version = "0.14.0" }
matrix-sdk-test-utils = { path = "testing/matrix-sdk-test-utils", version = "0.14.0" }
2025-09-04 13:09:58 +02:00
matrix-sdk-ui = { path = "crates/matrix-sdk-ui", version = "0.14.0", default-features = false }
matrix-sdk-search = { path = "crates/matrix-sdk-search", version = "0.14.0" }
2025-05-22 22:17:38 +02:00
[workspace.lints.rust]
rust_2018_idioms = "warn"
semicolon_in_expressions_from_macros = "warn"
unexpected_cfgs = { level = "warn", check-cfg = [
'cfg(tarpaulin_include)', # Used by tarpaulin (code coverage)
'cfg(ruma_unstable_exhaustive_types)', # Used by Ruma's EventContent derive macro
] }
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_qualifications = "warn"
trivial_casts = "warn"
trivial_numeric_casts = "warn"
[workspace.lints.clippy]
assigning_clones = "allow"
box_default = "allow"
cloned_instead_of_copied = "warn"
dbg_macro = "warn"
inefficient_to_string = "warn"
macro_use_imports = "warn"
manual_let_else = "warn"
2025-05-22 22:17:38 +02:00
mut_mut = "warn"
needless_borrow = "warn"
nonstandard_macro_braces = "warn"
redundant_clone = "warn"
2025-05-22 22:17:38 +02:00
str_to_string = "warn"
todo = "warn"
unnecessary_semicolon = "warn"
2025-05-22 22:17:38 +02:00
unused_async = "warn"
# Default development profile; default for most Cargo commands, otherwise
# selected with `--debug`
2022-06-03 17:10:15 +02:00
[profile.dev]
# Saves a lot of disk space. If symbols are needed, use the dbg profile.
2022-06-03 17:10:15 +02:00
debug = 0
2022-06-01 13:44:11 +02:00
[profile.dev.package]
# Optimize quote even in debug mode. Speeds up proc-macros enough to account
# for the extra time of optimizing it for a clean build of matrix-sdk-ffi.
quote = { opt-level = 2 }
2022-07-08 16:23:47 +02:00
sha2 = { opt-level = 2 }
# faster runs for insta.rs snapshot testing
insta.opt-level = 3
similar.opt-level = 3
2023-04-06 15:27:22 +02:00
# Custom profile with full debugging info, use `--profile dbg` to select
[profile.dbg]
inherits = "dev"
debug = 2
# Custom profile for use in (debug) builds of the binding crates, use
2023-04-06 15:27:22 +02:00
# `--profile reldbg` to select
[profile.reldbg]
inherits = "dbg"
opt-level = 3
2023-01-11 12:26:09 +01:00
[profile.profiling]
inherits = "release"
# LTO is too slow to compile.
lto = false
# Get symbol names for profiling purposes.
debug = true
[profile.bench]
inherits = "release"
lto = false
2023-01-11 12:26:09 +01:00
[patch.crates-io]
async-compat = { git = "https://github.com/element-hq/async-compat", rev = "5a27c8b290f1f1dcfc0c4ec22c464e38528aa591" }
const_panic = { git = "https://github.com/jplatte/const_panic", rev = "9024a4cb3eac45c1d2d980f17aaee287b17be498" }
# Needed to fix rotation log issue on Android (https://github.com/tokio-rs/tracing/issues/2937)
2025-08-30 16:33:38 +02:00
tracing = { git = "https://github.com/tokio-rs/tracing.git", rev = "20f5b3d8ba057ca9c4ae00ad30dda3dce8a71c05" }
tracing-core = { git = "https://github.com/tokio-rs/tracing.git", rev = "20f5b3d8ba057ca9c4ae00ad30dda3dce8a71c05" }
tracing-subscriber = { git = "https://github.com/tokio-rs/tracing.git", rev = "20f5b3d8ba057ca9c4ae00ad30dda3dce8a71c05" }
tracing-appender = { git = "https://github.com/tokio-rs/tracing.git", rev = "20f5b3d8ba057ca9c4ae00ad30dda3dce8a71c05" }