Skip to content

Commit

Permalink
Merge pull request godot-extended-libraries#59 from aaronfranke/travis
Browse files Browse the repository at this point in the history
Add formatting script for Travis CI
  • Loading branch information
willnationsdev authored Apr 26, 2020
2 parents 3955339 + a6e6c54 commit a86868d
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 4 deletions.
11 changes: 10 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@

# Godot-specific ignores
.import/
export.cfg
export_presets.cfg

# Imported translations (automatically generated from CSV files)
*.translation

# Mono-specific ignores
.mono/
.mono/
data_*/

# System/tool-specific ignores
.directory
*~
18 changes: 18 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion ATTRIBUTIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ This file is for recording any credits related to scripts or icons in the reposi

- editor_tools.gd: 'is_in_edited_scene' sourced from [@Zylann](https://github.com/Zylann)

- project_tools.gd: `try_set_setting` and `set_setting` initially derived from [/u/WordOfRabbit](https://www.reddit.com/user/WordOfRabbit)'s [blog](https://dfaction.net/handling-custom-project-settings-using-gdscript/).
- project_tools.gd: `try_set_setting` and `set_setting` initially derived from [/u/WordOfRabbit](https://www.reddit.com/user/WordOfRabbit)'s [blog](https://dfaction.net/handling-custom-project-settings-using-gdscript/).
2 changes: 1 addition & 1 deletion docs/use_cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,4 @@
- Emit a message on the dispatcher and it sends it to all relevant handlers or discards it if no handlers were registered.
7. Have you ever wanted to create a flat gradient with hard transitions?
- DiscreteGradientTexture
- It works like the GradientTexture but ignores the color interpolation of the gradient.
- It works like the GradientTexture but ignores the color interpolation of the gradient.
39 changes: 39 additions & 0 deletions format.sh
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion licenses/LICENSE_Inflector.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ ByteSize (https://github.com/omar/ByteSize)
The MIT License (MIT)
Copyright (c) 2013-2014 Omar Khudeira (http://omar.io)

==============================================================================
==============================================================================

0 comments on commit a86868d

Please sign in to comment.