Bug 1387830 - Make ./mach lint able to output available linters. r=ahal

MozReview-Commit-ID: 2hRtfzohwTR

--HG--
extra : rebase_source : 18275b1015f19b98461ebb849555a02fed335462
This commit is contained in:
Justin Wood 2017-08-06 09:41:05 -04:00
parent da35d1368a
commit 4a6556fa3c

View File

@ -27,6 +27,12 @@ class MozlintParser(ArgumentParser):
'help': "Linters to run, e.g 'eslint'. By default all linters " 'help': "Linters to run, e.g 'eslint'. By default all linters "
"are run for all the appropriate files.", "are run for all the appropriate files.",
}], }],
[['--list'],
{'dest': 'list_linters',
'default': False,
'action': 'store_true',
'help': "List all available linters and exit.",
}],
[['-f', '--format'], [['-f', '--format'],
{'dest': 'fmt', {'dest': 'fmt',
'default': 'stylish', 'default': 'stylish',
@ -107,9 +113,15 @@ def find_linters(linters=None):
return lints return lints
def run(paths, linters, fmt, outgoing, workdir, **lintargs): def run(paths, linters, fmt, outgoing, workdir, list_linters=None, **lintargs):
from mozlint import LintRoller, formatters from mozlint import LintRoller, formatters
if list_linters:
lint_paths = find_linters(linters)
print("Available linters: {}".format(
[os.path.splitext(os.path.basename(l))[0] for l in lint_paths]
))
return 0
lint = LintRoller(**lintargs) lint = LintRoller(**lintargs)
lint.read(find_linters(linters)) lint.read(find_linters(linters))