gecko-dev/build
Ricky Stewart 31755b431d Bug 1657650 - Require that Mach command providers subclass MachCommandBase. r=remote-protocol-reviewers,marionette-reviewers,maja_zf,mhentges,froydnj
Today we don't require that `mach` `CommandProvider`s subclass from any particular parent class and we're very lax about the requirements they must meet. While that's convenient in certain circumstances, it has some unfortunate implications for feature development.

Today the only requirements that we have for `CommandProvider`s are that they have an `__init__()` method that takes either 1 or 2 arguments, the second of which must be called `context` and is populated with the `mach` `CommandContext`. Again, while this flexibility is occasionally convenient, it is limiting. As we add features to `mach`, having a better idea what the shape of our `CommandProvider`s are and how we can instantiate them and use them is increasingly important, and this gives us additional control when having `mach` configure `CommandProvider`s based on data that is only available at the `mach` level. In particular, we plan to leverage this in bugs 985141 and 1654074.

Here we add validation to the `CommandProvider` decorator to ensure all classes inherit from `MachCommandBase`, update all `CommandProvider`s in-tree to inherit from `MachCommandBase`, and update source and test code accordingly.

Follow-up work: we now require (de facto) that the `context` be populated with a `topdir` attribute by the `populate_context_handler` function, since instantiating the `MachCommandBase` requires a `topdir` be provided. This is fine for now in the interest of keeping this patch reasonably sized, but some additional refactoring could make this cleaner.

Differential Revision: https://phabricator.services.mozilla.com/D86255
2020-08-07 18:24:59 +00:00
..
autoconf Bug 1635764 - Move --with-system-icu and --with-intl-api to python configure. r=firefox-build-system-reviewers,rstewart 2020-05-29 21:29:52 +00:00
build-clang Bug 1654674 - Make revert-r362047-and-r362065.patch work with clang-12 r=froydnj 2020-07-22 23:34:43 +00:00
build-infer
clang-plugin Backed out 2 changesets (bug 1485588) for bustages on TestNoLocaleSpecificChecker.cpp . CLOSED TREE 2020-07-20 15:35:25 +03:00
compare-mozconfig Bug 1651824 - Run `mozboot` and `compare-mozconfig` unit tests in `mozbuild` task and not in `make check` r=froydnj 2020-07-10 18:25:07 +00:00
debian-packages Bug 1647880 - Upgrade cmake to 3.16.3 for toolchain builds. r=firefox-build-system-reviewers,rstewart 2020-06-24 15:17:03 +00:00
docs Bug 1652075 - Update the minimum supported macOS version in the build docs. r=sylvestre 2020-07-17 09:49:32 +00:00
gyp_includes
liblowercase Bug 1638401 - Make liblowercase also wrap fxstatat. r=froydnj 2020-05-15 17:10:34 +00:00
macosx Bug 1654845 - use new dump_syms for Mac builds; r=dmajor 2020-07-23 17:01:21 +00:00
mobile Bug 1486004 - Part 2 - Update remoteautomation.py to support unrooted android devices using mozdevice 4.0.0, r=gbrown 2020-07-17 20:48:44 +00:00
moz.configure Bug 1656611 - Remove `objdir` support from `virtualenv_packages.txt` handling r=mhentges,froydnj 2020-08-07 16:03:36 +00:00
package/mac_osx
pgo Bug 634697 - Add permanent storage to user's client certificate selection r=keeler,baku,fluent-reviewers,Gijs 2020-08-03 13:24:34 +00:00
sanitizers
sparse-profiles Bug 1628278 - added conditioned profile support r=acreskey 2020-07-16 13:30:11 +00:00
tests/cram
unix Bug 1652374 - Use LLD for non-PGO-profile-use clang builds on automation. r=froydnj 2020-08-04 02:26:42 +00:00
valgrind Bug 1657650 - Require that Mach command providers subclass MachCommandBase. r=remote-protocol-reviewers,marionette-reviewers,maja_zf,mhentges,froydnj 2020-08-07 18:24:59 +00:00
win32 Bug 1647301 - Remove forceCharset from nsIContentViewer. r=m_kato 2020-07-02 06:23:24 +00:00
win64 Backed out changeset 722854464579 (bug 1623520) for multiple failures on Win10 x64 asan. CLOSED TREE 2020-06-17 01:49:36 +03:00
win64-aarch64
workspace-hack
.gdbinit Bug 1642121 - Remove directory dependence of GDB init files. r=nalexander 2020-06-16 15:45:43 +00:00
.gdbinit.loader Bug 1642121 - Remove directory dependence of GDB init files. r=nalexander 2020-06-16 15:45:43 +00:00
.gdbinit.py.in Bug 1642121 - Remove directory dependence of GDB init files. r=nalexander 2020-06-16 15:45:43 +00:00
.lldbinit.in Bug 1654994 - Switch full symbols archive to tar.zst. r=firefox-build-system-reviewers,rstewart,tomprince 2020-07-31 20:27:54 +00:00
RunCbindgen.py Bug 1646936 - Generate a single metadata file in the objdir, and feed it to cbindgen. r=glandium 2020-06-26 10:41:26 +00:00
__init__.py
appini_header.py
application.ini.in
binary-location.mk
buildconfig.py
cargo-host-linker
cargo-host-linker.bat
cargo-linker
cargo-linker.bat
checksums.py
defines.sh
dumbmake-dependencies
gecko_templates.mozbuild
gen_symverscript.py
gen_test_packages_manifest.py Bug 1644778 - add a mozperftest to measure browser.xhtml DOM size, r=tarek,dhouse,sparky 2020-07-13 15:44:38 +00:00
genrc.sh
gn.mozbuild
gyp.mozbuild Bug 1638830 - Remove `MOZ_WEBRTC_HARDWARE_AEC_NS` and its related code r=padenot 2020-05-20 13:22:40 +00:00
gyp_base.mozbuild
mach_bootstrap.py Bug 1657299 - First step of refactor `static-analysis` integration, making it more modular. r=marco 2020-08-06 06:51:16 +00:00
moz-automation.mk Bug 1648651 - Fix building with --disable-compile-environment. r=firefox-build-system-reviewers,rstewart 2020-06-28 23:43:18 +00:00
moz.build Bug 1646936 - Generate a single metadata file in the objdir, and feed it to cbindgen. r=glandium 2020-06-26 10:41:26 +00:00
mozconfig.artifact Bug 1654994 - Make full symbols archive opt-in rather than opt-out. r=froydnj 2020-07-31 10:01:54 +00:00
mozconfig.artifact.automation
mozconfig.automation
mozconfig.cache
mozconfig.clang-cl Bug 1648519 - Add back clang lib directory to LIB on Windows r=glandium 2020-06-26 19:36:30 +00:00
mozconfig.comm-support
mozconfig.common
mozconfig.common.override
mozconfig.lld-link
mozconfig.nasm
mozconfig.no-compile Bug 1654994 - Stop setting up makecab for the build. r=firefox-build-system-reviewers,rstewart 2020-07-31 10:01:53 +00:00
mozconfig.node
mozconfig.rust
mozconfig.stylo
mozconfig.wasm-sandboxing
mozconfig.win-common Bug 1654994 - Stop setting up makecab for the build. r=firefox-build-system-reviewers,rstewart 2020-07-31 10:01:53 +00:00
qemu-wrap
submit_telemetry_data.py
templates.mozbuild Bug 1646936 - Generate a single metadata file in the objdir, and feed it to cbindgen. r=glandium 2020-06-26 10:41:26 +00:00
test_templates.mozbuild
update-settings.ini
upload.py
upload_generated_sources.py Bug 985141 - [mozbuild] Remove leading underscore from MozbuildObject._activate_virtualenv, r=firefox-build-system-reviewers,perftest-reviewers,andi,AlexandruIonescu,rstewart 2020-07-28 16:06:10 +00:00
variables.py
virtualenv_packages.txt Bug 1656611 - Remove `objdir` support from `virtualenv_packages.txt` handling r=mhentges,froydnj 2020-08-07 16:03:36 +00:00
windows_toolchain.py