Selaa lähdekoodia

Merge pull request #3305 from aaronfranke/travis

Add a formatting script for local checking and for Travis CI
Rémi Verschelde 5 vuotta sitten
vanhempi
commit
5c2a630c37

+ 18 - 0
.travis.yml

@@ -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

+ 39 - 0
format.sh

@@ -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

+ 1 - 1
getting_started/workflow/index.rst

@@ -8,4 +8,4 @@ Project workflow
    project_setup/index
    assets/index
    export/index
-   best_practices/index
+   best_practices/index

+ 1 - 1
tutorials/2d/using_tilemaps.rst

@@ -164,4 +164,4 @@ Tips and tricks
 - Tools such as copy, paste, and bucket fill, can be found in the "TileMap"
   menu in the upper-right.
 
-.. image:: img/tilemap_menu.png
+.. image:: img/tilemap_menu.png

+ 1 - 1
tutorials/physics/using_area_2d.rst

@@ -137,4 +137,4 @@ override.
 .. image:: img/area2d_override.gif
 
 You can download this project here:
-:download:`using_area_2d.zip <files/using_area_2d.zip>`
+:download:`using_area_2d.zip <files/using_area_2d.zip>`

+ 1 - 1
tutorials/vr/index.rst

@@ -6,4 +6,4 @@ VR
    :name: toc-tutorials-vr
 
    vr_primer
-   vr_starter_tutorial/index
+   vr_starter_tutorial/index