diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2024-12-30 09:54:16 +0100 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2025-01-08 12:07:31 +0200 |
| commit | 04067fcad7fbf6cfbf1b8656caa8ec51e217e321 (patch) | |
| tree | c27356a28e3528489cd1d567e1b5d7d1a15f41d5 /mesonbuild/scripts/clippy.py | |
| parent | 211f1cae3a9b398073695fd8da6be9dae9566579 (diff) | |
| download | meson-04067fcad7fbf6cfbf1b8656caa8ec51e217e321.tar.gz | |
clippy: skip running it if --cap-lints allow is included in the command line
Meson builds libraries before running clippy, thus all dependencies must be present
and clippy is run only for the warnings (instead, Cargo treats clippy as a separate
toolchain and builds everything). In Meson's case thus it is pointless to run
clippy whenever --cap-lints allow is included in the command line.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'mesonbuild/scripts/clippy.py')
| -rw-r--r-- | mesonbuild/scripts/clippy.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/mesonbuild/scripts/clippy.py b/mesonbuild/scripts/clippy.py index a5161462c..c4746e3fd 100644 --- a/mesonbuild/scripts/clippy.py +++ b/mesonbuild/scripts/clippy.py @@ -41,15 +41,24 @@ class ClippyDriver: cmdlist = list(clippy) prev = None + lints_cap = None for arg in src_block['parameters']: - if prev: + if prev == '--cap-lints': + cmdlist.append(prev) + lints_cap = arg + prev = None + elif prev: prev = None continue - elif arg in {'--emit', '--out-dir'}: + if arg in {'--emit', '--out-dir', '--cap-lints'}: prev = arg else: cmdlist.append(arg) + # no use in running clippy if it wouldn't print anything anyway + if lints_cap == 'allow': + break + cmdlist.extend(src_block['sources']) # the default for --emit is to go all the way to linking, # and --emit dep-info= is not enough for clippy to do |
