2021-10-15 01:56:44 +00:00
|
|
|
#!/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.
|
|
|
|
|
|
|
|
# Run `rustfmt` on all Rust code contained in crosvm. This is different from
|
|
|
|
# `cargo fmt --all` which formats multiple crates but a single workspace only.
|
|
|
|
# Crosvm consists of multiple workspaces.
|
|
|
|
#
|
|
|
|
# Usage:
|
|
|
|
#
|
|
|
|
# $ bin/fmt
|
|
|
|
#
|
|
|
|
# To print a diff and exit 1 if code is not formatted, but without changing any
|
|
|
|
# files, use:
|
|
|
|
#
|
|
|
|
# $ bin/fmt --check
|
|
|
|
#
|
|
|
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
# Change into directory of script, which is crosvm/bin.
|
|
|
|
cd "$(dirname "${BASH_SOURCE[0]}")"
|
|
|
|
|
|
|
|
# Jump up to root directory of crosvm repo.
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
find . -name '*.rs' -print0 \
|
2021-10-18 23:46:57 +00:00
|
|
|
| grep -vz '^./third_party/' \
|
2021-10-15 01:56:44 +00:00
|
|
|
| grep -vz '^./target/' \
|
|
|
|
| xargs -0 rustfmt --edition=2018 "$@" --
|