zephyr/doc/scripts/filter-doc-log.sh
Inaky Perez-Gonzalez aa765005e8 doc/scripts/filter-doc-log: protect further against bad TERM env
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>
2017-12-22 08:36:39 -05:00

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