diff --git a/.travis.yml b/.travis.yml index bfa90a79c6298c56b2d57747a9e0606e83f511f2..cc1e614a23accfbc4edfdfea9df871bfdd9e0024 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 847c3acb9deaa30f7ecd5e06625eac5cd88d34d8..0ebd94bb93c05cc9bda4b25a6e6a8274e667a9b5 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