| #!/usr/bin/env bash |
| # |
| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| CLANG_FORMAT=@@CLANG_FORMAT@@ |
| MODE=@@MODE@@ |
| |
| clang_format=$(readlink "$CLANG_FORMAT") |
| |
| if ! cd "$BUILD_WORKSPACE_DIRECTORY"; then |
| echo "Unable to change to workspace (BUILD_WORKSPACE_DIRECTORY: ${BUILD_WORKSPACE_DIRECTORY})" |
| exit 1 |
| fi |
| |
| if [[ $# != 0 ]]; then |
| FILES="$*" |
| else |
| FILES=$(find . \ |
| -type f \ |
| @@EXCLUDE_PATTERNS@@ \ |
| \( @@INCLUDE_PATTERNS@@ \) \ |
| -print) |
| fi |
| |
| case "$MODE" in |
| diff) |
| RESULT=0 |
| for f in $FILES; do |
| diff -Naur "$f" <(${clang_format} ${f}) |
| RESULT=$(($RESULT | $?)) |
| done |
| exit $RESULT |
| ;; |
| fix) |
| echo "$FILES" | xargs ${clang_format} -i |
| ;; |
| *) |
| echo "Unknown mode: $MODE" |
| exit 2 |
| esac |