mirror of
https://github.com/dashpay/dash.git
synced 2024-12-27 04:52:59 +01:00
4c2211dd41
414326952c use export LC_ALL=C.UTF-8 (Julian Fleischer) 728c82d029 make script exit if a command fails (Julian Fleischer) 506890b24d move remaining travis build steps into individual files (Julian Fleischer) 272306ea57 number .travis/ script according to build lifecycle and add README to explain (Julian Fleischer) 519e2739cf move lint stage up to resemble travis build ui (Julian Fleischer) 86d34f0e65 abort script in END_FOLD on non-zero exit code (Julian Fleischer) 4f2f88c7b0 move script sections info individual files and comply with shellcheck (Julian Fleischer) Pull request description: This PR is extracted from https://github.com/bitcoin/bitcoin/pull/13816 to make that one easier to review. It follows on https://github.com/bitcoin/bitcoin/pull/13849 and https://github.com/bitcoin/bitcoin/pull/13851 In here the shell script parts from `travis.yml` are extracted into `.travis/before_install.sh`, `.travis/install.sh`, `.travis/before_script.sh`, `.travis/script.sh`, and `.travis/lint.sh`. This has the benefit that `test/lint/lint-shell.sh` will also shellcheck these parts. Also it makes the individual script parts more readable. Tree-SHA512: c497e1687ceb1c1d795de177d3fc35af908bc8e3f781a871afabdecf031e581d4db229290627249e35ef7c09952bc34884e4734ea91d40f57b4a9efb85bba2e3
26 lines
1.0 KiB
Bash
Executable File
26 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Copyright (c) 2018 The Bitcoin Core developers
|
|
# Distributed under the MIT software license, see the accompanying
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
#
|
|
# Make sure all shell scripts:
|
|
# a.) explicitly opt out of locale dependence using
|
|
# "export LC_ALL=C" or "export LC_ALL=C.UTF-8", or
|
|
# b.) explicitly opt in to locale dependence using the annotation below.
|
|
|
|
export LC_ALL=C
|
|
|
|
EXIT_CODE=0
|
|
for SHELL_SCRIPT in $(git ls-files -- "*.sh" | grep -vE "src/(secp256k1|univalue)/"); do
|
|
if grep -q "# This script is intentionally locale dependent by not setting \"export LC_ALL=C\"" "${SHELL_SCRIPT}"; then
|
|
continue
|
|
fi
|
|
FIRST_NON_COMMENT_LINE=$(grep -vE '^(#.*)?$' "${SHELL_SCRIPT}" | head -1)
|
|
if [[ ${FIRST_NON_COMMENT_LINE} != "export LC_ALL=C" && ${FIRST_NON_COMMENT_LINE} != "export LC_ALL=C.UTF-8" ]]; then
|
|
echo "Missing \"export LC_ALL=C\" (to avoid locale dependence) as first non-comment non-empty line in ${SHELL_SCRIPT}"
|
|
EXIT_CODE=1
|
|
fi
|
|
done
|
|
exit ${EXIT_CODE}
|