Revision control

Copy as Markdown

[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/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/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",
"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 <package>`, `--manifest-dir
# <path>` ...)
#
# - 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/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.30.0"
libsqlite3-sys = "0.27.0"
uniffi = "0.25.2"
[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.
viaduct = { path = "components/viaduct" }