Checking for TERM being undefined before doing tput with colors is not enough; if TERM is defined as 'dumb', this thing also behaves dumbly. In fact, the whole trying to do colors thing is dumb and causes all kinds of headache in corner cases, so just wrap anything smelling like color in a check for TERM being undefined or 'dumb' and be done with it. It shall take care of different automation mechanisms that don't invoke 'make htmldocs' from a user console. Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
50 lines
1.2 KiB
Bash
Executable File
50 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# run the filter-known-issues.py script to remove "expected" warning
|
|
# messages from the output of the document build process and write
|
|
# the filtered output to stdout
|
|
#
|
|
# Only argument is the name of the log file saved by the build.
|
|
|
|
KI_SCRIPT=${ZEPHYR_BASE}/scripts/filter-known-issues.py
|
|
CONFIG_DIR=${ZEPHYR_BASE}/.known-issues/doc
|
|
|
|
LOG_FILE=$1
|
|
|
|
if [ -z "${LOG_FILE}" ]; then
|
|
echo "Error in $0: missing input parameter <logfile>"
|
|
exit 1
|
|
fi
|
|
|
|
# When running in background, detached from terminal jobs, tput will
|
|
# fail; we usually can tell because there is no TERM env variable.
|
|
if [ -z "${TERM:-}" -o "${TERM:-}" = dumb ]; then
|
|
TPUT="true"
|
|
red=''
|
|
green=''
|
|
else
|
|
TPUT="tput"
|
|
red='\E[31m'
|
|
green='\e[32m'
|
|
fi
|
|
|
|
if [ -s "${LOG_FILE}" ]; then
|
|
$KI_SCRIPT --config-dir ${CONFIG_DIR} ${LOG_FILE} > doc.warnings 2>&1
|
|
if [ -s doc.warnings ]; then
|
|
echo
|
|
echo -e "${red}New errors/warnings found, please fix them:"
|
|
echo -e "=============================================="
|
|
$TPUT sgr0
|
|
echo
|
|
cat doc.warnings
|
|
echo
|
|
else
|
|
echo -e "${green}No new errors/warnings."
|
|
$TPUT sgr0
|
|
fi
|
|
|
|
else
|
|
echo "Error in $0: logfile \"${LOG_FILE}\" not found."
|
|
exit 1
|
|
fi
|