mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-07 18:04:46 +00:00
Backed out changeset 4b889750da57 (bug 1696251) for causing lint failures. CLOSED TREE
This commit is contained in:
parent
7a3361b3fd
commit
6bb47ac424
@ -24,6 +24,10 @@ class Settings(MachCommandBase):
|
||||
people create configs via a wizard, etc.
|
||||
"""
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(Settings, self).__init__(*args, **kwargs)
|
||||
self._settings = self._mach_context.settings
|
||||
|
||||
@Command(
|
||||
"settings", category="devenv", description="Show available config settings."
|
||||
)
|
||||
@ -38,12 +42,12 @@ class Settings(MachCommandBase):
|
||||
"""List available settings."""
|
||||
types = {v: k for k, v in TYPE_CLASSES.items()}
|
||||
wrapper = TextWrapper(initial_indent="# ", subsequent_indent="# ")
|
||||
for i, section in enumerate(sorted(self._mach_context.settings)):
|
||||
for i, section in enumerate(sorted(self._settings)):
|
||||
if not short:
|
||||
print("%s[%s]" % ("" if i == 0 else "\n", section))
|
||||
|
||||
for option in sorted(self._mach_context.settings[section]._settings):
|
||||
meta = self._mach_context.settings[section].get_meta(option)
|
||||
for option in sorted(self._settings[section]._settings):
|
||||
meta = self._settings[section].get_meta(option)
|
||||
desc = meta["description"]
|
||||
|
||||
if short:
|
||||
|
@ -42,6 +42,11 @@ class ConditionsProvider(MachCommandBase):
|
||||
|
||||
@CommandProvider
|
||||
class ConditionsContextProvider(MachCommandBase):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ConditionsContextProvider, self).__init__(*args, **kwargs)
|
||||
self.foo = self._mach_context.foo
|
||||
self.bar = self._mach_context.bar
|
||||
|
||||
@Command("cmd_foo_ctx", category="testing", conditions=[is_foo])
|
||||
def run_foo(self, command_context):
|
||||
pass
|
||||
|
@ -54,8 +54,9 @@ def setup():
|
||||
|
||||
@CommandProvider
|
||||
class RemoteCommands(MachCommandBase):
|
||||
def remotedir(self):
|
||||
return os.path.join(self.topsrcdir, "remote")
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(RemoteCommands, self).__init__(*args, **kwargs)
|
||||
self.remotedir = os.path.join(self.topsrcdir, "remote")
|
||||
|
||||
@Command(
|
||||
"remote", category="misc", description="Remote protocol related operations."
|
||||
@ -88,11 +89,11 @@ class RemoteCommands(MachCommandBase):
|
||||
help="Do not install the just-pulled Puppeteer package,",
|
||||
)
|
||||
def vendor_puppeteer(self, command_context, repository, commitish, install):
|
||||
puppeteer_dir = os.path.join(self.remotedir(), "test", "puppeteer")
|
||||
puppeteer_dir = os.path.join(self.remotedir, "test", "puppeteer")
|
||||
|
||||
# Preserve our custom mocha reporter
|
||||
shutil.move(
|
||||
os.path.join(puppeteer_dir, "json-mocha-reporter.js"), self.remotedir()
|
||||
os.path.join(puppeteer_dir, "json-mocha-reporter.js"), self.remotedir
|
||||
)
|
||||
shutil.rmtree(puppeteer_dir, ignore_errors=True)
|
||||
os.makedirs(puppeteer_dir)
|
||||
@ -123,7 +124,7 @@ class RemoteCommands(MachCommandBase):
|
||||
shutil.rmtree(dir_path)
|
||||
|
||||
shutil.move(
|
||||
os.path.join(self.remotedir(), "json-mocha-reporter.js"), puppeteer_dir
|
||||
os.path.join(self.remotedir, "json-mocha-reporter.js"), puppeteer_dir
|
||||
)
|
||||
|
||||
import yaml
|
||||
|
@ -20,7 +20,6 @@ from pprint import pprint
|
||||
|
||||
from mach.registrar import Registrar
|
||||
from mozbuild.base import MachCommandBase
|
||||
from mozbuild.util import memoize
|
||||
from mach.decorators import (
|
||||
Command,
|
||||
CommandArgument,
|
||||
@ -38,6 +37,13 @@ BASE_LINK = "http://gecko-docs.mozilla.org-l1.s3-website.us-west-2.amazonaws.com
|
||||
class Documentation(MachCommandBase):
|
||||
"""Helps manage in-tree documentation."""
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(Documentation, self).__init__(*args, **kwargs)
|
||||
|
||||
self._manager = None
|
||||
self._project = None
|
||||
self._version = None
|
||||
|
||||
@Command(
|
||||
"doc",
|
||||
category="devenv",
|
||||
@ -266,10 +272,12 @@ class Documentation(MachCommandBase):
|
||||
return sphinx.cmd.build.build_main(args)
|
||||
|
||||
def manager(self):
|
||||
from moztreedocs import manager
|
||||
return manager
|
||||
if not self._manager:
|
||||
from moztreedocs import manager
|
||||
|
||||
self._manager = manager
|
||||
return self._manager
|
||||
|
||||
@memoize
|
||||
def _read_project_properties(self):
|
||||
import imp
|
||||
|
||||
@ -283,13 +291,18 @@ class Documentation(MachCommandBase):
|
||||
if not project:
|
||||
project = conf.project.replace(" ", "_")
|
||||
|
||||
return {"project": project, "version": getattr(conf, "version", None)}
|
||||
self._project = project
|
||||
self._version = getattr(conf, "version", None)
|
||||
|
||||
def project(self):
|
||||
return self._read_project_properties()["project"]
|
||||
if not self._project:
|
||||
self._read_project_properties()
|
||||
return self._project
|
||||
|
||||
def version(self):
|
||||
return self._read_project_properties()["version"]
|
||||
if not self._version:
|
||||
self._read_project_properties()
|
||||
return self._version
|
||||
|
||||
def _node_path(self):
|
||||
from mozbuild.nodeutil import find_node_executable
|
||||
|
@ -18,7 +18,6 @@ from mach.decorators import (
|
||||
)
|
||||
from mozboot.util import get_state_dir
|
||||
from mozbuild.base import BuildEnvironmentNotFoundException, MachCommandBase
|
||||
from mozbuild.util import memoize
|
||||
|
||||
|
||||
CONFIG_ENVIRONMENT_NOT_FOUND = """
|
||||
@ -72,13 +71,19 @@ class TryConfig(object):
|
||||
|
||||
@CommandProvider
|
||||
class TrySelect(MachCommandBase):
|
||||
def init(self):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(TrySelect, self).__init__(*args, **kwargs)
|
||||
from tryselect import push
|
||||
|
||||
push.MAX_HISTORY = self._mach_context.settings["try"]["maxhistory"]
|
||||
self.subcommand = self._mach_context.handler.subcommand
|
||||
self.parser = self._mach_context.handler.parser
|
||||
self._presets = None
|
||||
|
||||
@memoize
|
||||
def presets(self):
|
||||
if self._presets:
|
||||
return self._presets
|
||||
|
||||
from tryselect.preset import MergedHandler
|
||||
|
||||
# Create our handler using both local and in-tree presets. The first
|
||||
@ -93,7 +98,8 @@ class TrySelect(MachCommandBase):
|
||||
os.path.join(self.topsrcdir, "tools", "tryselect", "try_presets.yml"),
|
||||
]
|
||||
|
||||
return MergedHandler(*preset_paths)
|
||||
self._presets = MergedHandler(*preset_paths)
|
||||
return self._presets
|
||||
|
||||
def handle_presets(self, preset_action=None, save=None, preset=None, **kwargs):
|
||||
"""Handle preset related arguments.
|
||||
@ -113,14 +119,12 @@ class TrySelect(MachCommandBase):
|
||||
user_presets.edit()
|
||||
sys.exit()
|
||||
|
||||
parser = self._mach_context.handler.parser
|
||||
subcommand = self._mach_context.handler.subcommand
|
||||
if "preset" not in parser.common_groups:
|
||||
if "preset" not in self.parser.common_groups:
|
||||
return kwargs
|
||||
|
||||
default = parser.get_default
|
||||
default = self.parser.get_default
|
||||
if save:
|
||||
selector = subcommand or self._mach_context.settings["try"]["default"]
|
||||
selector = self.subcommand or self._mach_context.settings["try"]["default"]
|
||||
|
||||
# Only save non-default values for simplicity.
|
||||
kwargs = {k: v for k, v in kwargs.items() if v != default(k)}
|
||||
@ -130,18 +134,16 @@ class TrySelect(MachCommandBase):
|
||||
|
||||
if preset:
|
||||
if preset not in self.presets():
|
||||
self._mach_context.parser.error(
|
||||
"preset '{}' does not exist".format(preset)
|
||||
)
|
||||
self.parser.error("preset '{}' does not exist".format(preset))
|
||||
|
||||
name = preset
|
||||
preset = self.presets()[name]
|
||||
selector = preset.pop("selector")
|
||||
preset.pop("description", None) # description isn't used by any selectors
|
||||
|
||||
if not subcommand:
|
||||
subcommand = selector
|
||||
elif subcommand != selector:
|
||||
if not self.subcommand:
|
||||
self.subcommand = selector
|
||||
elif self.subcommand != selector:
|
||||
print(
|
||||
"error: preset '{}' exists for a different selector "
|
||||
"(did you mean to run 'mach try {}' instead?)".format(
|
||||
@ -169,7 +171,7 @@ class TrySelect(MachCommandBase):
|
||||
|
||||
to_validate = []
|
||||
kwargs.setdefault("try_config", {})
|
||||
for cls in six.itervalues(self._mach_context.handler.parser.task_configs):
|
||||
for cls in six.itervalues(self.parser.task_configs):
|
||||
try_config = cls.try_config(**kwargs)
|
||||
if try_config is not None:
|
||||
to_validate.append(cls)
|
||||
@ -187,12 +189,10 @@ class TrySelect(MachCommandBase):
|
||||
def run(self, **kwargs):
|
||||
kwargs = self.handle_presets(**kwargs)
|
||||
|
||||
if self._mach_context.handler.parser.task_configs:
|
||||
if self.parser.task_configs:
|
||||
kwargs = self.handle_try_config(**kwargs)
|
||||
|
||||
mod = importlib.import_module(
|
||||
"tryselect.selectors.{}".format(self._mach_context.handler.subcommand)
|
||||
)
|
||||
mod = importlib.import_module("tryselect.selectors.{}".format(self.subcommand))
|
||||
return mod.run(**kwargs)
|
||||
|
||||
@Command(
|
||||
@ -213,20 +213,16 @@ class TrySelect(MachCommandBase):
|
||||
default. Run |mach try auto --help| for more information on
|
||||
scheduling with the `auto` selector.
|
||||
"""
|
||||
self.init()
|
||||
subcommand = self._mach_context.handler.subcommand
|
||||
# We do special handling of presets here so that `./mach try --preset foo`
|
||||
# works no matter what subcommand 'foo' was saved with.
|
||||
preset = kwargs["preset"]
|
||||
if preset:
|
||||
if preset not in self.presets():
|
||||
self._mach_context.handler.parser.error(
|
||||
"preset '{}' does not exist".format(preset)
|
||||
)
|
||||
self.parser.error("preset '{}' does not exist".format(preset))
|
||||
|
||||
subcommand = self.presets()[preset]["selector"]
|
||||
self.subcommand = self.presets()[preset]["selector"]
|
||||
|
||||
sub = subcommand or self._mach_context.settings["try"]["default"]
|
||||
sub = self.subcommand or self._mach_context.settings["try"]["default"]
|
||||
return self._mach_context.commands.dispatch(
|
||||
"try", self._mach_context, subcommand=sub, argv=argv, **kwargs
|
||||
)
|
||||
@ -312,7 +308,6 @@ class TrySelect(MachCommandBase):
|
||||
For more detailed documentation, please see:
|
||||
https://firefox-source-docs.mozilla.org/tools/try/selectors/fuzzy.html
|
||||
"""
|
||||
self.init()
|
||||
if kwargs.pop("interactive"):
|
||||
kwargs["query"].append("INTERACTIVE")
|
||||
|
||||
@ -349,7 +344,6 @@ class TrySelect(MachCommandBase):
|
||||
has been made, pressing the 'Push' button will automatically push the
|
||||
selection to try.
|
||||
"""
|
||||
self.init()
|
||||
self.activate_virtualenv()
|
||||
path = os.path.join(
|
||||
"tools", "tryselect", "selectors", "chooser", "requirements.txt"
|
||||
@ -367,7 +361,6 @@ class TrySelect(MachCommandBase):
|
||||
parser=get_parser("auto"),
|
||||
)
|
||||
def try_auto(self, command_context, **kwargs):
|
||||
self.init()
|
||||
return self.run(**kwargs)
|
||||
|
||||
@SubCommand(
|
||||
@ -377,7 +370,6 @@ class TrySelect(MachCommandBase):
|
||||
parser=get_parser("again"),
|
||||
)
|
||||
def try_again(self, command_context, **kwargs):
|
||||
self.init()
|
||||
return self.run(**kwargs)
|
||||
|
||||
@SubCommand(
|
||||
@ -395,7 +387,6 @@ class TrySelect(MachCommandBase):
|
||||
via Treeherder's Add New Jobs feature, located in the per-push
|
||||
menu.
|
||||
"""
|
||||
self.init()
|
||||
return self.run(**kwargs)
|
||||
|
||||
@SubCommand(
|
||||
@ -442,7 +433,6 @@ class TrySelect(MachCommandBase):
|
||||
(installable from mach vcs-setup).
|
||||
|
||||
"""
|
||||
self.init()
|
||||
try:
|
||||
if self.substs.get("MOZ_ARTIFACT_BUILDS"):
|
||||
kwargs["local_artifact_build"] = True
|
||||
@ -467,7 +457,6 @@ class TrySelect(MachCommandBase):
|
||||
)
|
||||
def try_coverage(self, command_context, **kwargs):
|
||||
"""Select which tasks to use using coverage data."""
|
||||
self.init()
|
||||
return self.run(**kwargs)
|
||||
|
||||
@SubCommand(
|
||||
@ -478,7 +467,6 @@ class TrySelect(MachCommandBase):
|
||||
)
|
||||
def try_release(self, command_context, **kwargs):
|
||||
"""Push the current tree to try, configured for a staging release."""
|
||||
self.init()
|
||||
return self.run(**kwargs)
|
||||
|
||||
@SubCommand(
|
||||
@ -492,5 +480,4 @@ class TrySelect(MachCommandBase):
|
||||
|
||||
Requires VPN and shipit access.
|
||||
"""
|
||||
self.init()
|
||||
return self.run(**kwargs)
|
||||
|
Loading…
Reference in New Issue
Block a user