From 1fc5744aa4b0e0992375d62cb0ffe30244ea87ac Mon Sep 17 00:00:00 2001 From: Totto16 Date: Wed, 5 Mar 2025 17:04:03 +0100 Subject: [PATCH] Meta: Make gn linter actually fail Without the `--dry-run` flag, the gn linter just formats the files in place and reports no failure --- Meta/lint-gn.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Meta/lint-gn.sh b/Meta/lint-gn.sh index e8970bcd40a..5faf0e64b9b 100755 --- a/Meta/lint-gn.sh +++ b/Meta/lint-gn.sh @@ -5,7 +5,7 @@ set -e script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P) cd "${script_path}/.." || exit 1 -if [ "$#" -eq "0" ]; then +if [ "$#" -eq "0" ] || { [ "$#" -eq "1" ] && [ "--overwrite-inplace" = "$1" ]; }; then files=() while IFS= read -r file; do files+=("$file") @@ -21,12 +21,20 @@ else done fi -if (( ${#files[@]} )); then - if ! command -v gn >/dev/null 2>&1 ; then +if ((${#files[@]})); then + if ! command -v gn >/dev/null 2>&1; then echo "gn is not available, but gn files need linting! Either skip this script, or install gn." exit 1 fi - gn format "${files[@]}" + + gn_args=("--dry-run") + for arg in "$@"; do + if [[ "--overwrite-inplace" = "$arg" ]]; then + gn_args=() + fi + done + + gn format "${gn_args[@]}" "${files[@]}" else echo "No .gn or .gni files to check." fi