Source code

Revision control

Copy as Markdown

Other Tools

[workspace]
# These are the "root" crates, which we build and test as top-level targets.
# Their transitive dependencies and dev-dependencies are included automatically
# and do not need to be listed here. Their external dependencies are vendored
# into `third_party/rust` by `mach vendor rust`.
members = [
"browser/app/nmhproxy/",
"js/src/rust",
"netwerk/base/idna_glue",
"netwerk/test/http3server",
"security/lockstore/lockstore_ffi",
"security/lockstore/lockstore_rs",
"security/manager/ssl/tests/unit/pkcs11testmodule",
"security/manager/ssl/tests/unit/test_trust_anchors",
"services/app-services-tools/embedded-uniffi-bindgen",
"services/app-services-tools/nimbus-fml",
"testing/geckodriver",
"third_party/application-services/tools/embedded-uniffi-bindgen",
"third_party/application-services/tools/uniffi-bindgen-library-mode",
"third_party/application-services/components/ads-client",
"third_party/application-services/components/autofill",
"third_party/application-services/components/context_id",
"third_party/application-services/components/crashtest",
"third_party/application-services/components/example",
"third_party/application-services/components/filter_adult",
"third_party/application-services/components/fxa-client",
"third_party/application-services/components/init_rust_components",
"third_party/application-services/components/logins",
"third_party/application-services/components/merino",
"third_party/application-services/components/places",
"third_party/application-services/components/push",
"third_party/application-services/components/relay",
"third_party/application-services/components/relevancy",
"third_party/application-services/components/remote_settings",
"third_party/application-services/components/search",
"third_party/application-services/components/suggest",
"third_party/application-services/components/support/error",
"third_party/application-services/components/support/find-places-db",
"third_party/application-services/components/support/firefox-versioning",
"third_party/application-services/components/support/guid",
"third_party/application-services/components/support/interrupt",
"third_party/application-services/components/support/jwcrypto",
"third_party/application-services/components/support/payload",
"third_party/application-services/components/support/nimbus-fml",
"third_party/application-services/components/support/rand_rccrypto",
"third_party/application-services/components/support/rate-limiter",
"third_party/application-services/components/support/restmail-client",
"third_party/application-services/components/support/rc_crypto",
"third_party/application-services/components/support/rc_crypto/nss",
"third_party/application-services/components/support/rc_crypto/nss/nss_build_common",
"third_party/application-services/components/support/rc_crypto/nss/nss_sys",
"third_party/application-services/components/support/rust-log-forwarder",
"third_party/application-services/components/support/sql",
"third_party/application-services/components/support/text-table",
"third_party/application-services/components/support/tracing",
"third_party/application-services/components/support/types",
"third_party/application-services/components/sync_manager",
"third_party/application-services/components/sync15",
"third_party/application-services/components/tabs",
"third_party/application-services/components/viaduct",
"third_party/application-services/components/webext-storage",
"third_party/application-services/components/webext-storage/ffi",
"third_party/application-services/megazords/full",
"toolkit/components/uniffi-bindgen-gecko-js",
"toolkit/crashreporter/android/export",
"toolkit/crashreporter/client/app",
"toolkit/crashreporter/crash_helper_server",
"toolkit/crashreporter/crash_helper_client",
"toolkit/crashreporter/crashping",
"toolkit/crashreporter/mozwer-rust",
"toolkit/library/gtest/rust",
"toolkit/library/rust/",
"toolkit/components/taskscheduler/rust",
"toolkit/mozapps/msixcomserver-rust",
"toolkit/mozapps/pushnotificationhelper",
"services/application-services/components/viaduct-necko",
"js/src/builtin/normalizer_glue",
]
# Excluded crates may be built as dependencies, but won't be considered members
# of the workspace and their dev-dependencies won't be included.
exclude = [
# Exclude third-party code vendored into mozilla-central.
"servo",
"third_party/rust",
# Excluded because these crates have their own Cargo workspaces so they can't
# be included in the top-level one.
"gfx/wr",
# Excluded because they are used only as dependencies, not top-level targets,
# so we don't need to vendor their dev-dependencies.
"gfx/webrender_bindings",
"media/mp4parse-rust/mp4parse",
"media/mp4parse-rust/mp4parse_capi",
"xpcom/rust/gkrust_utils",
"toolkit/components/protobuf/scripts",
"toolkit/crashreporter/minidump-analyzer",
"tools/lint/test/files/clippy",
"tools/fuzzing/rust",
"dom/base/rust",
"dom/origin-trials/ffi",
"ipc/rust/ipdl_utils",
"tools/update-verify/marannon",
# Excluded because we don't want to vendor their dependencies.
"intl/l10n/rust/l10nregistry-tests",
# Exclude various app-services crates to avoid vendoring in their dependencies
# The disadvantage of this is that building these crates will require a separate `Cargo.lock` file and `target` directory.
# This is not ideal, but we are willing accept the trade-off for now.
#
# These depend on `hyper-tls` and we do not want to bring in the subdependencies, like `openssl`
"third_party/application-services/components/support/viaduct-hyper",
"third_party/application-services/components/support/viaduct-reqwest",
# Excluded because it depends on `hyper` and having it as top-level member would make
# `cargo vet` require it to be `safe-to-deploy`. However, since we only use it as a dev-dependency, we want
# it to be `safe-to-run`.
"third_party/application-services/components/support/viaduct-dev",
# CLIs that depend on `viaduct-hyper`
"third_party/application-services/examples/autofill-utils/",
"third_party/application-services/examples/cli-support/",
"third_party/application-services/examples/example-cli/",
"third_party/application-services/examples/fxa-client/",
"third_party/application-services/examples/merino-cli/",
"third_party/application-services/examples/places-autocomplete/",