From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- tools/lint/mach_commands.py | 62 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tools/lint/mach_commands.py (limited to 'tools/lint/mach_commands.py') diff --git a/tools/lint/mach_commands.py b/tools/lint/mach_commands.py new file mode 100644 index 000000000..f0f3c9bdf --- /dev/null +++ b/tools/lint/mach_commands.py @@ -0,0 +1,62 @@ +# 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/. + +from __future__ import absolute_import, print_function, unicode_literals + +import argparse +import os + +from mozbuild.base import ( + MachCommandBase, +) + + +from mach.decorators import ( + CommandArgument, + CommandProvider, + Command, +) + + +here = os.path.abspath(os.path.dirname(__file__)) + + +def setup_argument_parser(): + from mozlint import cli + return cli.MozlintParser() + + +@CommandProvider +class MachCommands(MachCommandBase): + + @Command( + 'lint', category='devenv', + description='Run linters.', + parser=setup_argument_parser) + def lint(self, *runargs, **lintargs): + """Run linters.""" + from mozlint import cli + lintargs['exclude'] = ['obj*'] + cli.SEARCH_PATHS.append(here) + self._activate_virtualenv() + return cli.run(*runargs, **lintargs) + + @Command('eslint', category='devenv', + description='Run eslint or help configure eslint for optimal development.') + @CommandArgument('paths', default=None, nargs='*', + help="Paths to file or directories to lint, like " + "'browser/components/loop' Defaults to the " + "current directory if not given.") + @CommandArgument('-s', '--setup', default=False, action='store_true', + help='Configure eslint for optimal development.') + @CommandArgument('-b', '--binary', default=None, + help='Path to eslint binary.') + @CommandArgument('--fix', default=False, action='store_true', + help='Request that eslint automatically fix errors, where possible.') + @CommandArgument('extra_args', nargs=argparse.REMAINDER, + help='Extra args that will be forwarded to eslint.') + def eslint(self, paths, extra_args=[], **kwargs): + self._mach_context.commands.dispatch('lint', self._mach_context, + linters=['eslint'], paths=paths, + argv=extra_args, **kwargs) -- cgit v1.2.3