| #!/bin/bash |
| # Copyright 2019 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # To check for violations: |
| # $ ./tools/clippy |
| # |
| # To fix violations where possible: |
| # $ ./tools/clippy --fix |
| |
| set -e |
| cd "$(dirname $0)/.." |
| |
| # TODO(b/192373803): Clean up clippy error is the following crates |
| EXCLUDE=( |
| aarch64 # 16 errors |
| crosvm-fuzz # 7 errors |
| devices # 92 errors |
| disk # 36 errors |
| kvm # 641 errors |
| kvm_sys # 613 errors |
| libvda # 79 errors |
| net_sys # 3 errors |
| virtio_sys # 9 errors |
| x86_64 # 56 errors |
| ) |
| |
| EXCLUDE_COMMON=( |
| common/cros_async # 8 errors |
| ) |
| |
| # Note: Clippy checks are configured in .cargo/config.toml |
| echo "Clippy crosvm workspace" |
| cargo clippy \ |
| --workspace \ |
| --features all-linux \ |
| --all-targets \ |
| ${EXCLUDE[@]/#/--exclude } \ |
| "$@" -- -Dwarnings |
| |
| for crate in common/*; do |
| if [ -d "${crate}" ] && |
| [[ ! " ${EXCLUDE_COMMON[*]} " =~ " ${crate} " ]]; then |
| echo "" |
| echo "Clippy ${crate}" |
| (cd "${crate}" && cargo clippy --all-targets "$@" -- -Dwarnings) |
| fi |
| done |