tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

global_payload.py (1374B)


      1 # This Source Code Form is subject to the terms of the Mozilla Public
      2 # License, v. 2.0. If a copy of the MPL was not distributed with this
      3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
      4 
      5 import mozpack.path as mozpath
      6 from external import external
      7 from mozpack.files import FileFinder
      8 
      9 from mozlint import result
     10 
     11 
     12 def global_payload(_paths, config, **lintargs):
     13    # A global linter that runs the external linter to actually lint.
     14    finder = FileFinder(lintargs["root"])
     15    files = [mozpath.join(lintargs["root"], p) for p, _ in finder.find("files/**")]
     16    issues = external(files, config, **lintargs)
     17    for issue in issues:
     18        # Make issue look like it comes from this linter.
     19        issue.linter = "global_payload"
     20    return issues
     21 
     22 
     23 def global_skipped(config, **lintargs):
     24    # A global linter that always registers a lint error.  Absence of
     25    # this error shows that the path exclusion mechanism can cause
     26    # global lint payloads to not be invoked at all.  In particular,
     27    # the `extensions` field means that nothing under `files/**` will
     28    # match.
     29 
     30    finder = FileFinder(lintargs["root"])
     31    files = [mozpath.join(lintargs["root"], p) for p, _ in finder.find("files/**")]
     32 
     33    issues = []
     34    issues.append(
     35        result.from_config(
     36            config, path=files[0], lineno=1, column=1, rule="not-skipped"
     37        )
     38    )