57 lines
1.4 KiB
Bash
Executable File
57 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e -o pipefail
|
|
|
|
[[ -z "$NGIO_ENV_DEFS" ]] && . ./scripts/env-set.sh > /dev/null
|
|
if [[ "x$1" == "x-v" ]]; then VERBOSE=1; shift; fi
|
|
|
|
SITE=./www
|
|
|
|
CHECK_FOR=bad-code-excerpt
|
|
|
|
LOGFILE_PREFIX=$CHECK_FOR-log
|
|
LOGFILE_FULL=$TMP/$LOGFILE_PREFIX-full.txt
|
|
LOGFILE=$TMP/$LOGFILE_PREFIX.txt
|
|
|
|
SKIPFILE_BASE=$CHECK_FOR-skip-patterns.txt
|
|
SKIPFILE_SRC=./scripts/config/$SKIPFILE_BASE
|
|
SKIPFILE=$TMP/$SKIPFILE_BASE
|
|
|
|
if [[ ! -d $SITE ]]; then
|
|
echo "Missing site folder $SITE"
|
|
exit 1;
|
|
fi
|
|
|
|
travis_fold start $CHECK_FOR
|
|
echo "Searching site for HTML files containing bad code excerpts (BAD FILENAME)."
|
|
echo
|
|
|
|
if [[ -n "$VERBOSE" ]]; then
|
|
travis_fold start $CHECK_FOR-details
|
|
echo "Full file list with grep details:"
|
|
find $SITE -type f -name "*.html" -exec grep -Hne "BAD FILENAME" {} \; | tee $LOGFILE_FULL
|
|
travis_fold end $CHECK_FOR-details
|
|
echo
|
|
else
|
|
echo "Full file list:"
|
|
find $SITE -type f -name "*.html" -exec grep -le "BAD FILENAME" {} \; | tee $LOGFILE_FULL
|
|
fi
|
|
|
|
echo
|
|
echo "Skip patterns for paths of files known to have issues ($SKIPFILE_SRC):"
|
|
|
|
perl -pe 's/(\s+|\s*#.*)$/\n/g' $SKIPFILE_SRC | \
|
|
# Remove blank lines \
|
|
grep '.' > $SKIPFILE
|
|
cat $SKIPFILE
|
|
echo
|
|
echo "File list excluding those matching skip patterns:"
|
|
grep -v -E -f $SKIPFILE $LOGFILE_FULL | tee $LOGFILE || true
|
|
|
|
if [[ ! -s $LOGFILE ]]; then
|
|
echo "No matches, all is good!"
|
|
travis_fold end $CHECK_FOR
|
|
else
|
|
exit 1;
|
|
fi
|