Просмотр исходного кода

Add end of file new line check

rhuanjl 7 лет назад
Родитель
Сommit
bcdae7fd19
2 измененных файлов с 7 добавлено и 1 удалено
  1. 1 1
      jenkins/check_eol.sh
  2. 6 0
      jenkins/check_file_eol.sh

+ 1 - 1
jenkins/check_eol.sh

@@ -15,7 +15,7 @@ fi
 ERRFILE=check_eol.sh.err
 rm -f $ERRFILE
 
-git diff --name-only `git merge-base origin/master HEAD` HEAD | grep -v -E "(test/.*\\.js|\\.cmd|\\.baseline|\\.wasm|\\.vcxproj|\\.vcproj|\\.sln)" | xargs -I % ./jenkins/check_file_eol.sh %
+git diff --name-only `git merge-base origin/master HEAD` HEAD | grep -v -E "(test/.*\\.js|\\.cmd|\\.baseline|\\.wasm|\\.wast|\\.vcxproj|\\.vcproj|\\.sln)" | xargs -I % ./jenkins/check_file_eol.sh %
 
 if [ -e $ERRFILE ]; then # if error file exists then there were errors
     >&2 echo "--------------" # leading >&2 means echo to stderr

+ 6 - 0
jenkins/check_file_eol.sh

@@ -37,4 +37,10 @@ if [ $? -eq 0 ]; then # grep found matches ($?==0), so we found CR (0x0d) in the
     echo "--------------" >> $ERRFILE # same length as '--- ERRORS ---'
 fi
 
+# Check that each file ends in a newline character
+tail -c1 $1 | od -x | grep '000a' > $ERRFILETEMP
+if [ $? -ne 0 ]; then # last character is not a newline
+    echo "ERROR: $1 does not end in a new line" >> $ERRFILE
+fi
+
 rm -f $ERRFILETEMP