Browse Source

Meta: Make gn linter actually fail

Without the `--dry-run` flag, the gn linter just formats the files in
place and reports no failure
Totto16 1 month ago
parent
commit
1fc5744aa4
1 changed files with 12 additions and 4 deletions
  1. 12 4
      Meta/lint-gn.sh

+ 12 - 4
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