diff --git a/.travis.yml b/.travis.yml index edbd8c27dd5..9ba0b842f02 100644 --- a/.travis.yml +++ b/.travis.yml @@ -149,6 +149,8 @@ install: script: # fail fast - set -e + # fail if the template files contains tabs + - /bin/bash ./bin/utils/detect_tab_in_templates.sh # fail if the test files have changes - bin/utils/detect_test_file_changes.rb bin/utils/test_file_list.yaml # fail if templates/generators contain carriage return '\r' diff --git a/bin/utils/detect_tab_in_templates.sh b/bin/utils/detect_tab_in_templates.sh new file mode 100755 index 00000000000..e3ac60b104d --- /dev/null +++ b/bin/utils/detect_tab_in_templates.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# +# Look for \t in the template folders and report errors if found +# as these tabs should be replaced with 4-space instead + +## declare an array of folders +declare -a samples=("modules/openapi-generator/src/main/resources/kotlin-server" + "modules/openapi-generator/src/main/resources/kotlin-spring" + "modules/openapi-generator/src/main/resources/dart-dio" + "modules/openapi-generator/src/main/resources/dart" + "modules/openapi-generator/src/main/resources/dart2" + "modules/openapi-generator/src/main/resources/aspnetcore" + "modules/openapi-generator/src/main/resources/powershell" + ) + +## now loop through the above array +for i in "${samples[@]}" +do + # grep for \t in the folder + RESULT=`grep -R -P "\t" $i` + echo -e "$RESULT" + + if [ "$RESULT" != "" ]; then + echo "Template files contain tab '\\t'. Please remove it or replace it with 4-space." + exit 1; + fi +done +