Browse Source
master22c13b0ab7Remove unused code instead of commenting out (Kristaps Kaupe)b928713880Add ShellCheck linter script (Kristaps Kaupe)4f0eebc68dApply all current shellcheck suggestions to rest of the scripts (Kristaps Kaupe)f0b9872ff9Apply all current shellcheck suggestions to install.sh (Kristaps Kaupe) Pull request description: Based on #1175, but also covers `install.sh` changes since then, all other shell scripts and adds ShellCheck linter script. Not adding this to CI for now. I'm thinking we could split off all the linting to separate job, don't see a point in running them under all OS / Python version combinations. Top commit has no ACKs. Tree-SHA512: 936320280f1ec9d8aa315c70be4d33fcb06d324531a17b30987c0be308d5351aa45dfac05cecadca8e9977a8f797b62ccd91d5d5fe92c5d0eacc6ebdf4dcd1c6
7 changed files with 112 additions and 49 deletions
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env bash |
||||
cd $(dirname "$0")/.. && \ |
||||
# shellcheck source=/dev/null |
||||
cd "$(dirname "$0")/.." && \ |
||||
source jmvenv/bin/activate && \ |
||||
cd scripts && \ |
||||
python3 joinmarket-qt.py |
||||
|
||||
@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash |
||||
# |
||||
# Copyright (c) 2017-2019 The Bitcoin Core developers |
||||
# Distributed under the MIT software license, see the accompanying |
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. |
||||
# |
||||
# This script runs all contrib/devtools/lint-* files, and fails if any exit |
||||
# with a non-zero status code. |
||||
|
||||
# This script is intentionally locale dependent by not setting "export LC_ALL=C" |
||||
# in order to allow for the executed lint scripts to opt in or opt out of locale |
||||
# dependence themselves. |
||||
|
||||
set -u |
||||
|
||||
SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}") |
||||
LINTALL=$(basename "${BASH_SOURCE[0]}") |
||||
|
||||
EXIT_CODE=0 |
||||
|
||||
for f in "${SCRIPTDIR}"/lint-*; do |
||||
if [ "$(basename "$f")" != "$LINTALL" ]; then |
||||
if ! "$f"; then |
||||
echo "^---- failure generated from $f" |
||||
EXIT_CODE=1 |
||||
fi |
||||
fi |
||||
done |
||||
|
||||
exit ${EXIT_CODE} |
||||
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash |
||||
# |
||||
# Copyright (c) 2018-2021 The Bitcoin Core developers |
||||
# Distributed under the MIT software license, see the accompanying |
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. |
||||
# |
||||
# Check for shellcheck warnings in shell scripts. |
||||
|
||||
export LC_ALL=C |
||||
|
||||
# Disabled warnings: |
||||
disabled=( |
||||
) |
||||
|
||||
EXIT_CODE=0 |
||||
|
||||
if ! command -v shellcheck > /dev/null; then |
||||
echo "Skipping shell linting since shellcheck is not installed." |
||||
exit $EXIT_CODE |
||||
fi |
||||
|
||||
SHELLCHECK_CMD=(shellcheck --external-sources --check-sourced --source-path=SCRIPTDIR) |
||||
EXCLUDE="--exclude=$(IFS=','; echo "${disabled[*]}")" |
||||
# Check shellcheck directive used for sourced files |
||||
mapfile -t SOURCED_FILES < <(git ls-files | xargs gawk '/^# shellcheck shell=/ {print FILENAME} {nextfile}') |
||||
mapfile -t GUIX_FILES < <(git ls-files contrib/guix contrib/shell | xargs gawk '/^#!\/usr\/bin\/env bash/ {print FILENAME} {nextfile}') |
||||
mapfile -t FILES < <(git ls-files -- '*.sh' | grep -vE 'src/(leveldb|secp256k1|minisketch|univalue)/') |
||||
if ! "${SHELLCHECK_CMD[@]}" "$EXCLUDE" "${SOURCED_FILES[@]}" "${GUIX_FILES[@]}" "${FILES[@]}"; then |
||||
EXIT_CODE=1 |
||||
fi |
||||
|
||||
exit $EXIT_CODE |
||||
Loading…
Reference in new issue