blob: 794e65f1e9d7f2326a45b9efff9afc6c1347de20 [file] [log] [blame]
#!/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