Add a formatting script for Travis CI #3

Merged
aaronfranke merged 2 commits from formatting into master 2020-05-12 19:42:01 +02:00
7 changed files with 60 additions and 5 deletions

18
.travis.yml Normal file
View File

@ -0,0 +1,18 @@
dist: bionic
stages:
- build
matrix:
include:
- name: Static checks (format.sh)
stage: build
os: linux
addons:
apt:
packages:
- dos2unix
- recode
script:
- bash ./format.sh

View File

@ -2,4 +2,4 @@ extends Button
func _pressed():
$"../Gift".chat($"../LineEdit".text)
$"../LineEdit".text = ""
$"../LineEdit".text = ""

View File

@ -83,4 +83,4 @@ func greet_me(cmd_info : CommandInfo) -> void:
chat("Greetings, " + cmd_info.sender_data.tags["display-name"] + "!")
func list(cmd_info : CommandInfo, arg_ary : PoolStringArray) -> void:
chat(arg_ary.join(", "))
chat(arg_ary.join(", "))

View File

@ -13,4 +13,3 @@ func _init(f_ref : FuncRef, perm_lvl : int, mx_args : int, mn_args : int, whr :
max_args = mx_args
min_args = mn_args
where = whr

View File

@ -9,4 +9,3 @@ func _init(sndr_dt, cmd, whspr):
sender_data = sndr_dt
command = cmd
whisper = whspr

View File

@ -8,4 +8,4 @@ var tags : Dictionary
func _init(usr : String, ch : String, tag_dict : Dictionary):
user = usr
channel = ch
tags = tag_dict
tags = tag_dict

39
format.sh Executable file
View File

@ -0,0 +1,39 @@
#!/bin/bash
# Loops through all text files tracked by Git.
git grep -zIl '' |
while IFS= read -rd '' f; do
# Exclude csproj and hdr files.
if [[ $f == *"csproj" ]]; then
continue
elif [[ $f == *"hdr" ]]; then
continue
fi
# Ensures that files are UTF-8 formatted.
recode UTF-8 $f 2> /dev/null
# Ensures that files have LF line endings.
dos2unix $f 2> /dev/null
# Ensures that files do not contain a BOM.
sed -i '1s/^\xEF\xBB\xBF//' "$f"
# Ensures that files end with newline characters.
tail -c1 < "$f" | read -r _ || echo >> "$f";
done
git diff > patch.patch
FILESIZE=$(stat -c%s patch.patch)
MAXSIZE=5
# If no patch has been generated all is OK, clean up, and exit.
if (( FILESIZE < MAXSIZE )); then
printf "Files in this commit comply with the formatting rules.\n"
rm -f patch.patch
exit 0
fi
# A patch has been created, notify the user, clean up, and exit.
printf "\n*** The following differences were found between the code "
printf "and the formatting rules:\n\n"
cat patch.patch
printf "\n*** Aborting, please fix your commit(s) with 'git commit --amend' or 'git rebase -i <hash>'\n"
rm -f patch.patch
exit 1