| #!/bin/bash |
| # |
| # Copyright 2022 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/echo_helpers.sh || exit $? |
| |
| echo-info "Formatting C++ code using clang-format..." |
| clang_format="${FUCHSIA_EMBEDDER_DIR}"/bazel-flutter-embedder/external/fuchsia_clang/bin/clang-format |
| if [[ ! -f "${clang_format}" ]] |
| then |
| echo-warning "Failed to format C++ code because ${clang_format} does not exist." |
| echo-warning "You can usually fix this by running:" |
| echo-warning "bazel build --config=fuchsia_x64 //src/embedder" |
| echo-warning "If that does not work, please open a bug at https://fxbug.dev " |
| else |
| # Format any C++ code that is: |
| # 1. Being modified by the commit. |
| # 2. Not copied from the engine repo, which has its own formatting rules. |
| # 3. Not in third_party repos, which have their own formatting rules. |
| source_files="$(git diff --cached --name-only --diff-filter=ACM | grep -v "/engine/" | grep -v "/third_party/" | grep -E "\.(cc|h)$")" |
| if [[ ! -z "$source_files" ]] |
| then |
| $clang_format -i $source_files |
| git add $source_files |
| fi |
| fi |
| |
| # TODO(akbiggs): Add clang-tidy checks to lint C++ code. |
| # TODO(akbiggs): Format markdown code. |
| # TODO(akbiggs): Format bazel code. |