cf4a1dee4b
StringEnum now also implements Ord, PartialOrd, Eq and PartialEq so it is not necessary to derive them. Also the ordering used is comparing the string representation of the variants. Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
209 lines
7.1 KiB
TOML
209 lines
7.1 KiB
TOML
[workspace]
|
|
members = [
|
|
"benchmarks",
|
|
"bindings/matrix-sdk-crypto-ffi",
|
|
"bindings/matrix-sdk-ffi",
|
|
"crates/*",
|
|
"examples/*",
|
|
"labs/*",
|
|
"testing/*",
|
|
"uniffi-bindgen",
|
|
"xtask",
|
|
]
|
|
exclude = ["testing/data"]
|
|
# xtask, testing and the bindings should only be built when invoked explicitly.
|
|
default-members = ["benchmarks", "crates/*", "labs/*"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
rust-version = "1.88"
|
|
|
|
[workspace.dependencies]
|
|
anyhow = "1.0.99"
|
|
aquamarine = "0.6.0"
|
|
as_variant = "1.3.0"
|
|
assert-json-diff = "2.0.2"
|
|
assert_matches = "1.5.0"
|
|
assert_matches2 = "0.1.2"
|
|
async-compat = "0.2.5"
|
|
async-rx = "0.1.3"
|
|
# Bumping this to 0.3.6 produces a test failure because the semantic between the
|
|
# versions changed subtly.
|
|
async-stream = "0.3.5"
|
|
async-trait = "0.1.89"
|
|
base64 = "0.22.1"
|
|
bitflags = "2.9.3"
|
|
byteorder = "1.5.0"
|
|
cfg-if = "1.0.3"
|
|
clap = "4.5.46"
|
|
chrono = "0.4.41"
|
|
dirs = "6.0.0"
|
|
eyeball = { version = "0.8.8", features = ["tracing"] }
|
|
eyeball-im = { version = "0.8.0", features = ["tracing"] }
|
|
eyeball-im-util = "0.10.0"
|
|
futures-core = "0.3.31"
|
|
futures-executor = "0.3.31"
|
|
futures-util = "0.3.31"
|
|
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"
|
|
http = "1.3.1"
|
|
imbl = "6.1.0"
|
|
indexed_db_futures = "0.6.4"
|
|
indexmap = "2.11.0"
|
|
insta = { version = "1.43.1", features = ["json", "redactions"] }
|
|
itertools = "0.14.0"
|
|
js-sys = "0.3.77"
|
|
mime = "0.3.17"
|
|
oauth2 = { version = "5.0.0", default-features = false, features = ["reqwest", "timing-resistant-secret-traits"] }
|
|
once_cell = "1.21.3"
|
|
pbkdf2 = { version = "0.12.2" }
|
|
pin-project-lite = "0.2.16"
|
|
proptest = { version = "1.6.0", default-features = false, features = ["std"] }
|
|
rand = "0.8.5"
|
|
regex = "1.11.2"
|
|
reqwest = { version = "0.12.23", default-features = false }
|
|
rmp-serde = "1.3.0"
|
|
ruma = { git = "https://github.com/ruma/ruma", rev = "cb6a83c6142de810e225cde9b3097c44f2f8d75a", features = [
|
|
"client-api-c",
|
|
"compat-upload-signatures",
|
|
"compat-arbitrary-length-ids",
|
|
"compat-tag-info",
|
|
"compat-encrypted-stickers",
|
|
"compat-lax-room-create-deser",
|
|
"compat-lax-room-topic-deser",
|
|
"unstable-msc3401",
|
|
"unstable-msc3488",
|
|
"unstable-msc3489",
|
|
"unstable-msc4075",
|
|
"unstable-msc4140",
|
|
"unstable-msc4143",
|
|
"unstable-msc4171",
|
|
"unstable-msc4278",
|
|
"unstable-msc4286",
|
|
"unstable-msc4306",
|
|
"unstable-msc4308",
|
|
"unstable-msc4310"
|
|
] }
|
|
sentry = { version = "0.42.0", default-features = false }
|
|
sentry-tracing = "0.42.0"
|
|
serde = { version = "1.0.219", features = ["rc"] }
|
|
serde_html_form = "0.2.7"
|
|
serde_json = "1.0.143"
|
|
sha2 = "0.10.9"
|
|
similar-asserts = "1.7.0"
|
|
stream_assert = "0.1.1"
|
|
tempfile = "3.21.0"
|
|
thiserror = "2.0.16"
|
|
tokio = { version = "1.47.1", default-features = false, features = ["sync"] }
|
|
tokio-stream = "0.1.17"
|
|
tracing = { version = "0.1.41", default-features = false, features = ["std"] }
|
|
tracing-appender = "0.2.3"
|
|
tracing-core = "0.1.34"
|
|
tracing-subscriber = "0.3.20"
|
|
unicode-normalization = "0.1.24"
|
|
uniffi = { version = "0.28.0" }
|
|
uniffi_bindgen = { version = "0.28.0" }
|
|
url = "2.5.7"
|
|
uuid = "1.18.0"
|
|
vergen-gitcl = "1.0.8"
|
|
vodozemac = { version = "0.9.0", features = ["insecure-pk-encryption"] }
|
|
wasm-bindgen = "0.2.84"
|
|
wasm-bindgen-test = "0.3.50"
|
|
web-sys = "0.3.69"
|
|
wiremock = "0.6.5"
|
|
zeroize = "1.8.1"
|
|
|
|
matrix-sdk = { path = "crates/matrix-sdk", version = "0.14.0", default-features = false }
|
|
matrix-sdk-base = { path = "crates/matrix-sdk-base", version = "0.14.1" }
|
|
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" }
|
|
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" }
|
|
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" }
|
|
|
|
[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"
|
|
mut_mut = "warn"
|
|
needless_borrow = "warn"
|
|
nonstandard_macro_braces = "warn"
|
|
redundant_clone = "warn"
|
|
str_to_string = "warn"
|
|
todo = "warn"
|
|
unnecessary_semicolon = "warn"
|
|
unused_async = "warn"
|
|
|
|
# Default development profile; default for most Cargo commands, otherwise
|
|
# selected with `--debug`
|
|
[profile.dev]
|
|
# Saves a lot of disk space. If symbols are needed, use the dbg profile.
|
|
debug = 0
|
|
|
|
[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 }
|
|
sha2 = { opt-level = 2 }
|
|
# faster runs for insta.rs snapshot testing
|
|
insta.opt-level = 3
|
|
similar.opt-level = 3
|
|
|
|
# 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
|
|
# `--profile reldbg` to select
|
|
[profile.reldbg]
|
|
inherits = "dbg"
|
|
opt-level = 3
|
|
|
|
[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
|
|
|
|
[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" }
|
|
indexed_db_futures = { git = "https://github.com/matrix-org/rust-indexed-db", rev = "201caac274e38756c6e523ba7cf84ffb625b7c48" }
|
|
# Needed to fix rotation log issue on Android (https://github.com/tokio-rs/tracing/issues/2937)
|
|
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" }
|