[workspace] resolver = "2" members = [ "core", "core/crates/*", "crates/*", "apps/deps-generator", "apps/desktop/src-tauri", "apps/desktop/crates/*", "apps/mobile/modules/sd-core/core", "apps/mobile/modules/sd-core/android/crate", "apps/mobile/modules/sd-core/ios/crate", "apps/server", ] exclude = ["crates/crypto"] [workspace.package] license = "AGPL-3.0-only" edition = "2021" repository = "https://github.com/spacedriveapp/spacedrive" [workspace.dependencies] # Third party dependencies used by one or more of our crates async-channel = "2.3" async-trait = "0.1.80" axum = "0.6.20" # Update blocked by hyper base64 = "0.22.1" base91 = "0.1.0" blake3 = "1.5.0" # Update blocked by custom patch below chrono = "0.4.38" directories = "5.0" ed25519-dalek = "2.1.1" futures = "0.3.30" futures-concurrency = "7.6" gix-ignore = "0.11.2" globset = "0.4.14" http = "0.2" # Update blocked by axum hyper = "0.14" # Update blocked due to API breaking changes image = "0.24.9" # Update blocked due to https://github.com/image-rs/image/issues/2230 itertools = "0.13.0" lending-stream = "1.0" libc = "0.2" normpath = "1.2" once_cell = "1.19" pin-project-lite = "0.2.14" rand = "0.8.5" regex = "1.10" reqwest = "0.11" # Update blocked by hyper rmp = "0.8.14" rmp-serde = "1.3.0" rmpv = { version = "1.3", features = ["with-serde"] } rspc = "0.1.4" serde = "1.0" serde_json = "1.0" specta = "=2.0.0-rc.11" static_assertions = "1.1" strum = "0.26" strum_macros = "0.26" tempfile = "3.10" thiserror = "1.0" tokio = "1.38" tokio-stream = "0.1.15" tokio-util = "0.7.11" tracing = "0.1.40" tracing-subscriber = "0.3.18" tracing-test = "0.2.5" uhlc = "0.6.0" # Must follow version used by specta uuid = "1.8" webp = "0.2.6" # Update blocked by image [workspace.dependencies.prisma-client-rust] git = "https://github.com/brendonovich/prisma-client-rust" rev = "4f9ef9d38ca732162accff72b2eb684d2f120bab" features = ["migrations", "specta", "sqlite", "sqlite-create-many"] default-features = false [workspace.dependencies.prisma-client-rust-cli] git = "https://github.com/brendonovich/prisma-client-rust" rev = "4f9ef9d38ca732162accff72b2eb684d2f120bab" features = ["migrations", "specta", "sqlite", "sqlite-create-many"] default-features = false [workspace.dependencies.prisma-client-rust-sdk] git = "https://github.com/brendonovich/prisma-client-rust" rev = "4f9ef9d38ca732162accff72b2eb684d2f120bab" features = ["sqlite"] default-features = false [patch.crates-io] # Proper IOS Support if-watch = { git = "https://github.com/spacedriveapp/if-watch.git", rev = "a92c17d3f85c1c6fb0afeeaf6c2b24d0b147e8c3" } # We hack it to the high heavens rspc = { git = "https://github.com/spacedriveapp/rspc.git", rev = "ab12964b140991e0730c3423693533fba71efb03" } # Add `Control::open_stream_with_addrs` libp2p = { git = "https://github.com/spacedriveapp/rust-libp2p.git", rev = "a005656df7e82059a0eb2e333ebada4731d23f8c" } libp2p-core = { git = "https://github.com/spacedriveapp/rust-libp2p.git", rev = "a005656df7e82059a0eb2e333ebada4731d23f8c" } libp2p-swarm = { git = "https://github.com/spacedriveapp/rust-libp2p.git", rev = "a005656df7e82059a0eb2e333ebada4731d23f8c" } libp2p-stream = { git = "https://github.com/spacedriveapp/rust-libp2p.git", rev = "a005656df7e82059a0eb2e333ebada4731d23f8c" } blake3 = { git = "https://github.com/spacedriveapp/blake3.git", rev = "d3aab416c12a75c2bfabce33bcd594e428a79069" } [profile.dev] # Make compilation faster on macOS split-debuginfo = "unpacked" opt-level = 0 debug = 0 strip = "none" lto = false codegen-units = 256 incremental = true [profile.dev-debug] inherits = "dev" # Enables debugger split-debuginfo = "none" opt-level = 0 debug = "full" strip = "none" lto = "off" codegen-units = 256 incremental = true # Set the settings for build scripts and proc-macros. [profile.dev.build-override] opt-level = 3 # Set the default for dependencies, except workspace members. [profile.dev.package."*"] opt-level = 3 incremental = false # Set the default for dependencies, except workspace members. [profile.dev-debug.package."*"] inherits = "dev" opt-level = 3 debug = "full" incremental = false # Optimize release builds [profile.release] panic = "unwind" # Sadly we need unwind to avoid unexpected crashes on third party crates codegen-units = 1 # Compile crates one after another so the compiler can optimize better lto = true # Enables link to optimizations opt-level = "s" # Optimize for binary size strip = true # Remove debug symbols