[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [Git][tpo/applications/tor-browser][tor-browser-128.0esr-14.0-2] 2 commits: Bug 42728: Modify ./mach lint to skip unused linters



Title: GitLab

Pier Angelo Vendrame pushed to branch tor-browser-128.0esr-14.0-2 at The Tor Project / Applications / Tor Browser

Commits:

  • 632c5e7c
    by Beatriz Rizental at 2024-07-31T15:05:11+00:00
    Bug 42728: Modify ./mach lint to skip unused linters
    
  • 67de9f05
    by Beatriz Rizental at 2024-07-31T15:05:11+00:00
    fixup! Bug 41803: Add some developer tools for working on tor-browser
    

2 changed files:

Changes:

  • python/mozlint/mozlint/cli.py
    ... ... @@ -10,6 +10,30 @@ from pathlib import Path
    10 10
     from mozlint.errors import NoValidLinter
    
    11 11
     from mozlint.formatters import all_formatters
    
    12 12
     
    
    13
    +# We (the Tor Project) do not use all of Mozilla's linters.
    
    14
    +# Below is a list of linters we do not use,
    
    15
    +# these will be skipped when running `./mach lint` commands.
    
    16
    +INACTIVE_LINTERS = [
    
    17
    +    "android-api-lint",
    
    18
    +    "android-checkstyle",
    
    19
    +    "android-format",
    
    20
    +    "android-javadoc",
    
    21
    +    "android-lint",
    
    22
    +    "android-test",
    
    23
    +    "clippy",
    
    24
    +    "codespell",
    
    25
    +    "condprof-addons",
    
    26
    +    "file-perm",
    
    27
    +    "ignorefile",
    
    28
    +    "license",
    
    29
    +    "lintpref",
    
    30
    +    "perfdocs",
    
    31
    +    "rejected-words",
    
    32
    +    "rst",
    
    33
    +    "updatebot",
    
    34
    +    "wpt",
    
    35
    +]
    
    36
    +
    
    13 37
     
    
    14 38
     class MozlintParser(ArgumentParser):
    
    15 39
         arguments = [
    
    ... ... @@ -276,6 +300,9 @@ def find_linters(config_paths, linters=None):
    276 300
     
    
    277 301
                 name = name.rsplit(".", 1)[0]
    
    278 302
     
    
    303
    +            if not linters and name in INACTIVE_LINTERS:
    
    304
    +                continue
    
    305
    +
    
    279 306
                 if linters and name not in linters:
    
    280 307
                     continue
    
    281 308
     
    
    ... ... @@ -341,10 +368,14 @@ def run(
    341 368
     
    
    342 369
         if list_linters:
    
    343 370
             lint_paths = find_linters(lintargs["config_paths"], linters)
    
    344
    -        linters = [
    
    371
    +        formatted_linters = [
    
    345 372
                 os.path.splitext(os.path.basename(l))[0] for l in lint_paths["lint_paths"]
    
    346 373
             ]
    
    347
    -        print("\n".join(sorted(linters)))
    
    374
    +        print("\n".join(sorted(formatted_linters)))
    
    375
    +
    
    376
    +        if not linters:
    
    377
    +            print("\nINACTIVE -- ".join(sorted(["", *INACTIVE_LINTERS])).strip())
    
    378
    +
    
    348 379
             print(
    
    349 380
                 "\nNote that clang-tidy checks are not run as part of this "
    
    350 381
                 "command, but using the static-analysis command."
    

  • tools/torbrowser/tb-dev
    ... ... @@ -309,35 +309,10 @@ def lint_changed_files(args):
    309 309
             for f in get_changed_files(get_upstream_basis_commit("HEAD"))
    
    310 310
             if os.path.isfile(f)  # Not deleted
    
    311 311
         ]
    
    312
    -    command_base = ["./mach", "lint"]
    
    313
    -    lint_process = subprocess.run(
    
    314
    -        [*command_base, "--list"], text=True, stdout=subprocess.PIPE, check=True
    
    315
    -    )
    
    316
    -
    
    317
    -    linters = []
    
    318
    -    for line in lint_process.stdout.split("\n"):
    
    319
    -        if not line:
    
    320
    -            continue
    
    321
    -        if line.startswith("Note that clang-tidy"):
    
    322
    -            # Note at end
    
    323
    -            continue
    
    324
    -        if line == "license":
    
    325
    -            # don't lint the license
    
    326
    -            continue
    
    327
    -        if line.startswith("android-"):
    
    328
    -            continue
    
    329
    -        # lint everything else
    
    330
    -        linters.append("-l")
    
    331
    -        linters.append(line)
    
    332
    -
    
    333
    -    if not linters:
    
    334
    -        raise Exception("No linters found")
    
    335
    -
    
    336
    -    if args.fix:
    
    337
    -        command_base.append("--fix")
    
    338 312
         # We add --warnings since clang only reports whitespace issues as warnings.
    
    339
    -    lint_process = subprocess.run(
    
    340
    -        [*command_base, "--warnings", *linters, *file_list], check=False
    
    313
    +    subprocess.run(
    
    314
    +        ["./mach", "lint", "--warnings", "soft", *args.lintargs, *file_list],
    
    315
    +        check=False,
    
    341 316
         )
    
    342 317
     
    
    343 318
     
    
    ... ... @@ -663,9 +638,10 @@ for name, details in {
    663 638
         "lint-changed-files": {
    
    664 639
             "func": lint_changed_files,
    
    665 640
             "args": {
    
    666
    -            "--fix": {
    
    667
    -                "help": "whether to fix the files",
    
    668
    -                "action": "store_true",
    
    641
    +            "lintargs": {
    
    642
    +                "help": "argument to pass to ./mach lint",
    
    643
    +                "metavar": "-- lint-arg",
    
    644
    +                "nargs": "*",
    
    669 645
                 },
    
    670 646
             },
    
    671 647
         },
    

  • _______________________________________________
    tor-commits mailing list
    tor-commits@xxxxxxxxxxxxxxxxxxxx
    https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits