mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-09 03:57:24 +00:00
The feature flags are documented using the document_features crate. Each platform gets one feature set that enables the features that are built and tested for that platform. The only functional difference is that the plugin feature is now enabled in clippy. Otherwise this should be a no-op. BUG=b:243894033 TEST=presubmit && cargo doc Change-Id: Ia910bc2670696172daedcc503f7ad5844a844964 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3946024 Reviewed-by: Vikram Auradkar <auradkar@google.com> Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
62 lines
1.8 KiB
Python
Executable file
62 lines
1.8 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
# Copyright 2019 The ChromiumOS Authors
|
|
# 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
|
|
|
|
import os
|
|
from impl.common import CROSVM_ROOT, cwd, run_main, cmd, chdir
|
|
from impl.test_runner import get_workspace_excludes
|
|
from impl.test_target import Triple
|
|
|
|
clippy = cmd("cargo clippy").with_color_flag()
|
|
triple = Triple.host_default()
|
|
|
|
excluded_crates: list[str] = list(get_workspace_excludes(triple))
|
|
features: str = f"--features={triple.feature_flag}"
|
|
|
|
|
|
def is_crate_excluded(crate: str) -> bool:
|
|
return crate in excluded_crates
|
|
|
|
|
|
def main(fix: bool = False, json: bool = False, locked: bool = False):
|
|
chdir(CROSVM_ROOT)
|
|
|
|
# Note: Clippy checks are configured in .cargo/config.toml
|
|
common_args = [
|
|
"--fix" if fix else None,
|
|
"--message-format=json" if json else None,
|
|
"--locked" if locked else None,
|
|
"--all-targets",
|
|
"--",
|
|
"-Dwarnings",
|
|
]
|
|
print("Clippy crosvm workspace")
|
|
clippy(
|
|
"--workspace",
|
|
features,
|
|
*[f"--exclude={crate}" for crate in excluded_crates],
|
|
*common_args,
|
|
).fg()
|
|
|
|
for crate in CROSVM_ROOT.glob("common/*/Cargo.toml"):
|
|
# TODO(b/213147081): remove the cros_async exclude this once
|
|
# common/cros_async is gone.
|
|
if is_crate_excluded(crate.parent.name) or (
|
|
os.name == "nt" and crate.parent.name == "cros_async"
|
|
):
|
|
print("Skipping crate", crate.parent.relative_to(CROSVM_ROOT))
|
|
else:
|
|
print("Clippy", crate.parent.relative_to(CROSVM_ROOT))
|
|
with cwd(crate.parent):
|
|
clippy("--all-features", *common_args).fg()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
run_main(main)
|