| #!/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 |