[workspace] resolver = "2" # Note: Any additions here should be repeated in default-members below. members = [ "components/as-ohttp-client", "components/autofill", "components/crashtest", "components/fxa-client", "components/logins", "components/nimbus", "components/places", "components/push", "components/relevancy", "components/remote_settings", "components/search", "components/suggest", "components/support/error", "components/support/error/tests", "components/support/find-places-db", "components/support/guid", "components/support/interrupt", "components/support/jwcrypto", "components/support/nimbus-cli", "components/support/nimbus-fml", "components/support/payload", "components/support/rand_rccrypto", "components/support/rate-limiter", "components/support/restmail-client", "components/support/rc_crypto", "components/support/rc_crypto/nss", "components/support/rc_crypto/nss/nss_build_common", "components/support/rc_crypto/nss/nss_sys", "components/support/rc_crypto/nss/systest", "components/support/rust-log-forwarder", "components/support/sql", "components/support/types", "components/support/viaduct-reqwest", "components/sync_manager", "components/sync15", "components/tabs", "components/viaduct", "components/webext-storage", "components/webext-storage/ffi", "megazords/cirrus", "megazords/nimbus-experimenter", "megazords/full", "megazords/ios-rust", "megazords/ios-rust/focus", "tools/protobuf-gen", "tools/embedded-uniffi-bindgen", "automation/swift-components-docs", "examples/*/", "testing/separated/*/", ] exclude = [ # Don't include git submodules in our workspace, since those packages haven't # been written with that in mind. They might work, but they might not. "components/external/glean/", # Excluding this due to intermittent failures; see SDK-233 and #3909 for details. # (including it here means you can still explicitly run it from the test directory) "testing/sync-test", ] # The `default-members` are the things that are built/tested when you run `cargo # build`, `cargo test` (or most of the cargo commands not provided by a # third-party `cargo-foo` binary) from a workspace root *without* doing one of: # # - Specifying a specific package (e.g. via `-p `, `--manifest-dir # ` ...) # # - Passing `--workspace` or `--all`. # # - Running the command from within that package (e.g. running `cargo build` # inside `megazords/full` will build the full megazord, default or not). # # We use this to exclude a couple that have a disproportional compile time # impact to how likely they are to get broken by average changes: # # - The megazords just re-export ffi crates, which we aren't excluding, and get # built freqently enough as part of gradle/xcode's build process. # # To be clear: passing the `--all` or `--workspace` arg to cargo will make it # use the full member set. default-members = [ "components/as-ohttp-client", "components/autofill", "components/crashtest", "components/fxa-client", "components/logins", "components/nimbus", "components/places", "components/push", "components/remote_settings", "components/search", "components/support/error", "components/support/error/macros", "components/support/error/tests", "components/support/guid", "components/support/interrupt", "components/support/nimbus-cli", "components/support/nimbus-fml", "components/support/restmail-client", "components/support/rc_crypto", "components/support/rc_crypto/nss", "components/support/rc_crypto/nss/nss_build_common", "components/support/rc_crypto/nss/nss_sys", "components/support/sql", "components/support/types", "components/support/viaduct-reqwest", "components/sync_manager", "components/sync15", "components/tabs", "components/viaduct", "components/webext-storage", # Disabled for intermittent failures; see SDK-233 and #3909 for details. # "testing/sync-test", "tools/protobuf-gen", "tools/embedded-uniffi-bindgen", "examples/*/", "testing/separated/*/", ] [workspace.dependencies] rusqlite = "0.31.0" libsqlite3-sys = "0.28.0" uniffi = "0.28.0" [profile.release] opt-level = "s" debug = true lto = "thin" # We import some git submodules which in turn may depend on appservices crates. # We always want to use the local version of our own crates in that case. [patch."https://github.com/mozilla/application-services"] viaduct = { path = "components/viaduct" }