Backed out changeset 4b889750da57 (bug 1696251) for causing lint failures. CLOSED TREE

This commit is contained in:
Butkovits Atila 2021-05-28 01:43:11 +03:00
Родитель 7a3361b3fd
Коммит 6bb47ac424
5 изменённых файлов: 61 добавлений и 51 удалений

Просмотреть файл

@ -24,6 +24,10 @@ class Settings(MachCommandBase):
people create configs via a wizard, etc. 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( @Command(
"settings", category="devenv", description="Show available config settings." "settings", category="devenv", description="Show available config settings."
) )
@ -38,12 +42,12 @@ class Settings(MachCommandBase):
"""List available settings.""" """List available settings."""
types = {v: k for k, v in TYPE_CLASSES.items()} types = {v: k for k, v in TYPE_CLASSES.items()}
wrapper = TextWrapper(initial_indent="# ", subsequent_indent="# ") 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: if not short:
print("%s[%s]" % ("" if i == 0 else "\n", section)) print("%s[%s]" % ("" if i == 0 else "\n", section))
for option in sorted(self._mach_context.settings[section]._settings): for option in sorted(self._settings[section]._settings):
meta = self._mach_context.settings[section].get_meta(option) meta = self._settings[section].get_meta(option)
desc = meta["description"] desc = meta["description"]
if short: if short:

Просмотреть файл

@ -42,6 +42,11 @@ class ConditionsProvider(MachCommandBase):
@CommandProvider @CommandProvider
class ConditionsContextProvider(MachCommandBase): 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]) @Command("cmd_foo_ctx", category="testing", conditions=[is_foo])
def run_foo(self, command_context): def run_foo(self, command_context):
pass pass

Просмотреть файл

@ -54,8 +54,9 @@ def setup():
@CommandProvider @CommandProvider
class RemoteCommands(MachCommandBase): class RemoteCommands(MachCommandBase):
def remotedir(self): def __init__(self, *args, **kwargs):
return os.path.join(self.topsrcdir, "remote") super(RemoteCommands, self).__init__(*args, **kwargs)
self.remotedir = os.path.join(self.topsrcdir, "remote")
@Command( @Command(
"remote", category="misc", description="Remote protocol related operations." "remote", category="misc", description="Remote protocol related operations."
@ -88,11 +89,11 @@ class RemoteCommands(MachCommandBase):
help="Do not install the just-pulled Puppeteer package,", help="Do not install the just-pulled Puppeteer package,",
) )
def vendor_puppeteer(self, command_context, repository, commitish, install): 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 # Preserve our custom mocha reporter
shutil.move( 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) shutil.rmtree(puppeteer_dir, ignore_errors=True)
os.makedirs(puppeteer_dir) os.makedirs(puppeteer_dir)
@ -123,7 +124,7 @@ class RemoteCommands(MachCommandBase):
shutil.rmtree(dir_path) shutil.rmtree(dir_path)
shutil.move( 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 import yaml

Просмотреть файл

@ -20,7 +20,6 @@ from pprint import pprint
from mach.registrar import Registrar from mach.registrar import Registrar
from mozbuild.base import MachCommandBase from mozbuild.base import MachCommandBase
from mozbuild.util import memoize
from mach.decorators import ( from mach.decorators import (
Command, Command,
CommandArgument, CommandArgument,
@ -38,6 +37,13 @@ BASE_LINK = "http://gecko-docs.mozilla.org-l1.s3-website.us-west-2.amazonaws.com
class Documentation(MachCommandBase): class Documentation(MachCommandBase):
"""Helps manage in-tree documentation.""" """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( @Command(
"doc", "doc",
category="devenv", category="devenv",
@ -266,10 +272,12 @@ class Documentation(MachCommandBase):
return sphinx.cmd.build.build_main(args) return sphinx.cmd.build.build_main(args)
def manager(self): def manager(self):
from moztreedocs import manager if not self._manager:
return manager from moztreedocs import manager
self._manager = manager
return self._manager
@memoize
def _read_project_properties(self): def _read_project_properties(self):
import imp import imp
@ -283,13 +291,18 @@ class Documentation(MachCommandBase):
if not project: if not project:
project = conf.project.replace(" ", "_") project = conf.project.replace(" ", "_")
return {"project": project, "version": getattr(conf, "version", None)} self._project = project
self._version = getattr(conf, "version", None)
def project(self): def project(self):
return self._read_project_properties()["project"] if not self._project:
self._read_project_properties()
return self._project
def version(self): def version(self):
return self._read_project_properties()["version"] if not self._version:
self._read_project_properties()
return self._version
def _node_path(self): def _node_path(self):
from mozbuild.nodeutil import find_node_executable from mozbuild.nodeutil import find_node_executable

Просмотреть файл

@ -18,7 +18,6 @@ from mach.decorators import (
) )
from mozboot.util import get_state_dir from mozboot.util import get_state_dir
from mozbuild.base import BuildEnvironmentNotFoundException, MachCommandBase from mozbuild.base import BuildEnvironmentNotFoundException, MachCommandBase
from mozbuild.util import memoize
CONFIG_ENVIRONMENT_NOT_FOUND = """ CONFIG_ENVIRONMENT_NOT_FOUND = """
@ -72,13 +71,19 @@ class TryConfig(object):
@CommandProvider @CommandProvider
class TrySelect(MachCommandBase): class TrySelect(MachCommandBase):
def init(self): def __init__(self, *args, **kwargs):
super(TrySelect, self).__init__(*args, **kwargs)
from tryselect import push from tryselect import push
push.MAX_HISTORY = self._mach_context.settings["try"]["maxhistory"] 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): def presets(self):
if self._presets:
return self._presets
from tryselect.preset import MergedHandler from tryselect.preset import MergedHandler
# Create our handler using both local and in-tree presets. The first # 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"), 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): def handle_presets(self, preset_action=None, save=None, preset=None, **kwargs):
"""Handle preset related arguments. """Handle preset related arguments.
@ -113,14 +119,12 @@ class TrySelect(MachCommandBase):
user_presets.edit() user_presets.edit()
sys.exit() sys.exit()
parser = self._mach_context.handler.parser if "preset" not in self.parser.common_groups:
subcommand = self._mach_context.handler.subcommand
if "preset" not in parser.common_groups:
return kwargs return kwargs
default = parser.get_default default = self.parser.get_default
if save: 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. # Only save non-default values for simplicity.
kwargs = {k: v for k, v in kwargs.items() if v != default(k)} kwargs = {k: v for k, v in kwargs.items() if v != default(k)}
@ -130,18 +134,16 @@ class TrySelect(MachCommandBase):
if preset: if preset:
if preset not in self.presets(): if preset not in self.presets():
self._mach_context.parser.error( self.parser.error("preset '{}' does not exist".format(preset))
"preset '{}' does not exist".format(preset)
)
name = preset name = preset
preset = self.presets()[name] preset = self.presets()[name]
selector = preset.pop("selector") selector = preset.pop("selector")
preset.pop("description", None) # description isn't used by any selectors preset.pop("description", None) # description isn't used by any selectors
if not subcommand: if not self.subcommand:
subcommand = selector self.subcommand = selector
elif subcommand != selector: elif self.subcommand != selector:
print( print(
"error: preset '{}' exists for a different selector " "error: preset '{}' exists for a different selector "
"(did you mean to run 'mach try {}' instead?)".format( "(did you mean to run 'mach try {}' instead?)".format(
@ -169,7 +171,7 @@ class TrySelect(MachCommandBase):
to_validate = [] to_validate = []
kwargs.setdefault("try_config", {}) 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) try_config = cls.try_config(**kwargs)
if try_config is not None: if try_config is not None:
to_validate.append(cls) to_validate.append(cls)
@ -187,12 +189,10 @@ class TrySelect(MachCommandBase):
def run(self, **kwargs): def run(self, **kwargs):
kwargs = self.handle_presets(**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) kwargs = self.handle_try_config(**kwargs)
mod = importlib.import_module( mod = importlib.import_module("tryselect.selectors.{}".format(self.subcommand))
"tryselect.selectors.{}".format(self._mach_context.handler.subcommand)
)
return mod.run(**kwargs) return mod.run(**kwargs)
@Command( @Command(
@ -213,20 +213,16 @@ class TrySelect(MachCommandBase):
default. Run |mach try auto --help| for more information on default. Run |mach try auto --help| for more information on
scheduling with the `auto` selector. 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` # We do special handling of presets here so that `./mach try --preset foo`
# works no matter what subcommand 'foo' was saved with. # works no matter what subcommand 'foo' was saved with.
preset = kwargs["preset"] preset = kwargs["preset"]
if preset: if preset:
if preset not in self.presets(): if preset not in self.presets():
self._mach_context.handler.parser.error( self.parser.error("preset '{}' does not exist".format(preset))
"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( return self._mach_context.commands.dispatch(
"try", self._mach_context, subcommand=sub, argv=argv, **kwargs "try", self._mach_context, subcommand=sub, argv=argv, **kwargs
) )
@ -312,7 +308,6 @@ class TrySelect(MachCommandBase):
For more detailed documentation, please see: For more detailed documentation, please see:
https://firefox-source-docs.mozilla.org/tools/try/selectors/fuzzy.html https://firefox-source-docs.mozilla.org/tools/try/selectors/fuzzy.html
""" """
self.init()
if kwargs.pop("interactive"): if kwargs.pop("interactive"):
kwargs["query"].append("INTERACTIVE") kwargs["query"].append("INTERACTIVE")
@ -349,7 +344,6 @@ class TrySelect(MachCommandBase):
has been made, pressing the 'Push' button will automatically push the has been made, pressing the 'Push' button will automatically push the
selection to try. selection to try.
""" """
self.init()
self.activate_virtualenv() self.activate_virtualenv()
path = os.path.join( path = os.path.join(
"tools", "tryselect", "selectors", "chooser", "requirements.txt" "tools", "tryselect", "selectors", "chooser", "requirements.txt"
@ -367,7 +361,6 @@ class TrySelect(MachCommandBase):
parser=get_parser("auto"), parser=get_parser("auto"),
) )
def try_auto(self, command_context, **kwargs): def try_auto(self, command_context, **kwargs):
self.init()
return self.run(**kwargs) return self.run(**kwargs)
@SubCommand( @SubCommand(
@ -377,7 +370,6 @@ class TrySelect(MachCommandBase):
parser=get_parser("again"), parser=get_parser("again"),
) )
def try_again(self, command_context, **kwargs): def try_again(self, command_context, **kwargs):
self.init()
return self.run(**kwargs) return self.run(**kwargs)
@SubCommand( @SubCommand(
@ -395,7 +387,6 @@ class TrySelect(MachCommandBase):
via Treeherder's Add New Jobs feature, located in the per-push via Treeherder's Add New Jobs feature, located in the per-push
menu. menu.
""" """
self.init()
return self.run(**kwargs) return self.run(**kwargs)
@SubCommand( @SubCommand(
@ -442,7 +433,6 @@ class TrySelect(MachCommandBase):
(installable from mach vcs-setup). (installable from mach vcs-setup).
""" """
self.init()
try: try:
if self.substs.get("MOZ_ARTIFACT_BUILDS"): if self.substs.get("MOZ_ARTIFACT_BUILDS"):
kwargs["local_artifact_build"] = True kwargs["local_artifact_build"] = True
@ -467,7 +457,6 @@ class TrySelect(MachCommandBase):
) )
def try_coverage(self, command_context, **kwargs): def try_coverage(self, command_context, **kwargs):
"""Select which tasks to use using coverage data.""" """Select which tasks to use using coverage data."""
self.init()
return self.run(**kwargs) return self.run(**kwargs)
@SubCommand( @SubCommand(
@ -478,7 +467,6 @@ class TrySelect(MachCommandBase):
) )
def try_release(self, command_context, **kwargs): def try_release(self, command_context, **kwargs):
"""Push the current tree to try, configured for a staging release.""" """Push the current tree to try, configured for a staging release."""
self.init()
return self.run(**kwargs) return self.run(**kwargs)
@SubCommand( @SubCommand(
@ -492,5 +480,4 @@ class TrySelect(MachCommandBase):
Requires VPN and shipit access. Requires VPN and shipit access.
""" """
self.init()
return self.run(**kwargs) return self.run(**kwargs)