From d716f2d4a528c3710676374026859e000ec16951 Mon Sep 17 00:00:00 2001
From: Ludwig Ortmann <ludwig.ortmann@fu-berlin.de>
Date: Sun, 23 Nov 2014 10:14:44 +0100
Subject: [PATCH] dist/licenses: add and use --error-exitcode

---
 .travis.yml                  |  2 +-
 dist/tools/licenses/check.sh | 10 +++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index bfa90a79c6..cc1e614a23 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -43,7 +43,7 @@ script:
     - make -s -C ./examples/default info-concurrency
     - git rebase riot/master || git rebase --abort
 
-    - ./dist/tools/licenses/check.sh master --diff-filter=MR
+    - ./dist/tools/licenses/check.sh master --diff-filter=MR --error-exitcode=0 || exit
     - ./dist/tools/licenses/check.sh master --diff-filter=AC || exit
 
 # TODO:
diff --git a/dist/tools/licenses/check.sh b/dist/tools/licenses/check.sh
index 847c3acb9d..0ebd94bb93 100755
--- a/dist/tools/licenses/check.sh
+++ b/dist/tools/licenses/check.sh
@@ -11,6 +11,7 @@ TMP="${CHECKROOT}/.tmp"
 ROOT=$(git rev-parse --show-toplevel)
 LICENSES=$(ls "${LICENSEDIR}")
 EXIT_CODE=0
+ERROR_EXIT_CODE="1"
 
 # reset output dir
 rm -fr "${OUTPUT}"
@@ -39,6 +40,13 @@ else
     DIFFFILTER="--diff-filter=ACMR"
 fi
 
+# If the --error-exitcode option is given, consume this parameter
+# and overwrite the default ERROR_EXIT_CODE.
+if echo "${1}" | grep -q '^--error-exitcode='; then
+    ERROR_EXIT_CODE=$(echo ${1} | sed -e 's/--error-exitcode=//')
+    shift 1
+fi
+
 # select files to check
 if [ -z "${BRANCH}" ]; then
     FILES="$(git ls-tree -r --full-tree --name-only HEAD | grep -E '\.([sSch]|cpp)$')"
@@ -60,7 +68,7 @@ for FILE in ${FILES}; do
     if [ ${FAIL} = 1 ]; then
         echo "${FILE}" >> "${UNKNOWN}"
         echo "file has an unknown license header: '${FILE}'"
-        EXIT_CODE=1
+        EXIT_CODE=${ERROR_EXIT_CODE}
     fi
 done
 
-- 
GitLab