# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. with Files("AUTHORS"): BUG_COMPONENT = ("mozilla.org", "Licensing") with Files("LICENSE"): BUG_COMPONENT = ("mozilla.org", "Licensing") with Files("mots.yaml"): BUG_COMPONENT = ("Conduit", "mots") with Files("CODEOWNERS"): BUG_COMPONENT = ("Conduit", "mots") with Files(".cargo/**"): BUG_COMPONENT = ("Firefox Build System", "General") with Files("Cargo.*"): BUG_COMPONENT = ("Firefox Build System", "General") with Files("client.*"): BUG_COMPONENT = ("Firefox Build System", "General") with Files("CLOBBER"): BUG_COMPONENT = ("Firefox Build System", "General") with Files("*configure*"): BUG_COMPONENT = ("Firefox Build System", "General") with Files(".gitattributes"): BUG_COMPONENT = ("Firefox Build System", "General") with Files(".gitignore"): BUG_COMPONENT = ("Firefox Build System", "General") with Files(".hgignore"): BUG_COMPONENT = ("Firefox Build System", "General") with Files(".hgtags"): BUG_COMPONENT = ("Firefox Build System", "General") with Files(".watchmanconfig"): BUG_COMPONENT = ("Firefox Build System", "General") with Files("docs/**"): BUG_COMPONENT = ("Developer Infrastructure", "Source Documentation") SCHEDULES.exclusive = ["docs"] with Files("eslint*"): BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting") with Files("stylelint*"): BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting") with Files("mach*"): BUG_COMPONENT = ("Firefox Build System", "Mach Core") with Files("pyproject.toml", "srcdir-resolver.js"): BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting") with Files(".babel-eslint.rc.js"): BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting") with Files(".cargo/audit.toml"): BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting") with Files(".clang-format"): BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting") with Files(".clang-format-ignore"): BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting") with Files(".prettierignore*"): BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting") with Files(".prettierrc.js"): BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting") with Files(".stylelintignore"): BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting") with Files(".stylelintrc.js"): BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting") with Files(".yamllint"): BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting") with Files("toolkit/.eslintrc.mjs"): BUG_COMPONENT = ("Developer Infrastructure", "Lint and Formatting") with Files("*moz*"): BUG_COMPONENT = ("Firefox Build System", "General") with Files("GNUmakefile"): BUG_COMPONENT = ("Firefox Build System", "General") with Files("*gradle*"): BUG_COMPONENT = ("GeckoView", "General") SCHEDULES.exclusive = ["android"] with Files(".mcp.json"): BUG_COMPONENT = ("Developer Infrastructure", "AI for Development") with Files(".agents/**"): BUG_COMPONENT = ("Developer Infrastructure", "AI for Development") with Files(".claude/**"): BUG_COMPONENT = ("Developer Infrastructure", "AI for Development") with Files(".codex/**"): BUG_COMPONENT = ("Developer Infrastructure", "AI for Development") with Files("*.json"): BUG_COMPONENT = ("Firefox Build System", "General") with Files("**/l10n.toml"): BUG_COMPONENT = ("Core", "Internationalization: Localization") FINAL = True with Files("README.md"): BUG_COMPONENT = ("Core", "General") with Files("CODE_OF_CONDUCT.md"): BUG_COMPONENT = ("Core", "General") with Files("SECURITY.md"): BUG_COMPONENT = ("Core", "DOM: Security") with Files("AGENTS.md"): BUG_COMPONENT = ("Developer Infrastructure", "AI for Development") with Files("CLAUDE.md"): BUG_COMPONENT = ("Developer Infrastructure", "AI for Development") with Files("review-context.toml"): BUG_COMPONENT = ("Developer Infrastructure", "AI for Development") with Files("nsprpub/**"): BUG_COMPONENT = ("NSPR", "NSPR") with Files(".cron.yml"): BUG_COMPONENT = ("Firefox Build System", "Task Configuration") with Files(".taskcluster.yml"): BUG_COMPONENT = ("Firefox Build System", "Task Configuration") with Files(".editorconfig"): BUG_COMPONENT = ("Developer Infrastructure", "Developer Environment Integration") with Files(".lldbinit"): BUG_COMPONENT = ("Developer Infrastructure", "Developer Environment Integration") with Files(".vscode/**"): BUG_COMPONENT = ("Developer Infrastructure", "Developer Environment Integration") with Files(".zed/**"): BUG_COMPONENT = ("Developer Infrastructure", "Developer Environment Integration") with Files(".idea/**"): BUG_COMPONENT = ("Firefox for Android", "Tooling") with Files(".ycm_extra_conf.py"): BUG_COMPONENT = ("Developer Infrastructure", "Developer Environment Integration") with Files(".git-blame-ignore-revs"): BUG_COMPONENT = ("Developer Infrastructure", "General") with Files(".hg-annotate-ignore-revs"): BUG_COMPONENT = ("Developer Infrastructure", "General") with Files(".mailmap"): BUG_COMPONENT = ("Developer Infrastructure", "General") with Files(".trackerignore"): BUG_COMPONENT = ("Developer Infrastructure", "General") with Files(".arcconfig"): BUG_COMPONENT = ("Conduit", "moz-phab") with Files(".github/**"): BUG_COMPONENT = ("Conduit", "General") with Files(".github/workflows/pr-handler.yml"): BUG_COMPONENT = ("Conduit", "Lando") with Files(".lando.ini"): BUG_COMPONENT = ("Conduit", "Lando") with Files("**/Makefile.in"): BUG_COMPONENT = ("Firefox Build System", "General") FINAL = True with Files("**/*.rst"): SCHEDULES.inclusive += ["docs"] with Files("**/*.md"): SCHEDULES.inclusive += ["docs"] with Files("**/*.rs"): SCHEDULES.inclusive += ["rusttests"] with Files("**/reftest.list"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] SCHEDULES.exclusive = ["reftest"] with Files("**/reftest-qr.list"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] SCHEDULES.exclusive = ["reftest"] with Files("**/crashtest*.list"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] SCHEDULES.exclusive = ["crashtest"] with Files("**/a11y.toml"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] SCHEDULES.exclusive = ["mochitest-a11y"] with Files("**/mochitest.toml"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] SCHEDULES.exclusive = ["mochitest-plain"] with Files("**/browser.toml"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] SCHEDULES.exclusive = ["mochitest-browser-chrome"] with Files("**/test*/**browser_*"): SCHEDULES.exclusive = ["mochitest-browser-chrome"] with Files("**/chrome.toml"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] SCHEDULES.exclusive = ["mochitest-chrome"] with Files("**/xpcshell.toml"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] SCHEDULES.exclusive = ["xpcshell"] with Files("**/reftest*/**"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] SCHEDULES.exclusive = ["reftest"] with Files("**/crashtest*/**"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] SCHEDULES.exclusive = ["crashtest"] with Files("**/mochitest*/**"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] SCHEDULES.exclusive = ["mochitest"] with Files("**/xpcshell/**"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] SCHEDULES.exclusive = ["xpcshell"] with Files("**/tests/**"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] with Files("**/test/**"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] with Files("**/unit/**"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] with Files("**/browser/tools/mozscreenshots/**"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] with Files("**/devtools/shared/test-helpers/**"): SCHEDULES.inclusive += ["test-verify", "test-verify-gpu"] CONFIGURE_SUBST_FILES += [ "config/autoconf.mk", "config/emptyvars.mk", ] if CONFIG["ENABLE_CLANG_PLUGIN"]: DIRS += ["build/clang-plugin"] DIRS += [ "build", "config", "python", "testing", "third_party/python", ] if CONFIG["MOZ_APPSERVICES_IN_TREE"]: DIRS += ["third_party/application-services"] if not CONFIG["JS_STANDALONE"]: DIRS += ["taskcluster"] if not CONFIG["JS_STANDALONE"] or not CONFIG["MOZ_BUILD_APP"]: CONFIGURE_DEFINE_FILES += [ "mozilla-config.h", ] EXPORTS += [ "!buildid.h", "!mozilla-config.h", "!source-repo.h", ] GENERATED_FILES += [ "buildid.h", "source-repo.h", ] GENERATED_FILES["buildid.h"].script = "build/variables.py:buildid_header" GENERATED_FILES["source-repo.h"].script = "build/variables.py:source_repo_header" if CONFIG["MOZ_BUILD_APP"]: # Bring in the configuration for the configured application. include("/" + CONFIG["MOZ_BUILD_APP"] + "/app.mozbuild") else: include("/toolkit/toolkit.mozbuild") OBJDIR_PP_FILES[".cargo"] += [ CONFIG["MOZ_OVERRIDE_CARGO_CONFIG"] or ".cargo/config.toml.in" ] DEFINES["top_srcdir"] = TOPSRCDIR SPHINX_TREES["contributing"] = "docs/contributing" SPHINX_TREES["code-quality"] = "docs/code-quality" SPHINX_TREES["testing-rust-code"] = "docs/testing-rust-code" SPHINX_TREES["writing-rust-code"] = "docs/writing-rust-code" SPHINX_TREES["rust-components"] = "docs/rust-components" SPHINX_TREES["bug-mgmt"] = "docs/bug-mgmt" SPHINX_TREES["glossary"] = "docs/glossary" SPHINX_TREES["overview"] = "docs/overview" SPHINX_TREES["setup"] = "docs/setup" SPHINX_TREES["crash-reporting"] = "docs/crash-reporting" SPHINX_TREES["performance"] = "docs/performance" SPHINX_TREES["metrics"] = "docs/metrics" SPHINX_TREES["gtest"] = "docs/gtest" SPHINX_TREES["nspr"] = "docs/nspr" SPHINX_TREES["mots"] = "docs/mots" SPHINX_TREES["update-infrastructure"] = "docs/update-infrastructure" SPHINX_TREES["content-security"] = "docs/content-security" # Wired up here rather than in security/rlbox/moz.build, which is only # traversed when MOZ_USING_WASM_SANDBOXING and COMPILE_ENVIRONMENT are set. SPHINX_TREES["rlbox"] = "security/rlbox/docs" SPHINX_TREES["jsloader"] = "docs/jsloader" SPHINX_TREES["ai-agent-tools"] = "docs/ai-agent-tools" include("build/templates.mozbuild") if CONFIG["MOZ_GENERATE_SBOM"]: # The document covers the whole tree rather than any one directory, and it # reads the licenses.json the backend writes from the tree-wide LICENSES # declarations, so it belongs here. `force` because it also reads every # tracked moz.yaml and Cargo.lock's whole graph: there is no dependency # list short enough to be worth maintaining against the alternative of # regenerating a document only the builds that ask for it produce. GeneratedFile( "sbom.json", script="/python/mozbuild/mozbuild/action/generate_sbom.py", entry_point="generate_file", extra_deps=[ "!/licenses.json", "!/.cargo/config.toml", "/Cargo.lock", ], force=True, )