From 00324171f1b50cc2cff14b55b1000cfe170ee915 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Fri, 24 Apr 2020 11:17:51 +0200 Subject: [PATCH] scripts: add build_step logging functions Signed-off-by: Niels de Vos (cherry picked from commit 52fa4f10dac92b729011e0d5760dd468676a6d85) --- scripts/build_step.inc.sh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 scripts/build_step.inc.sh diff --git a/scripts/build_step.inc.sh b/scripts/build_step.inc.sh new file mode 100644 index 000000000..6003cfa35 --- /dev/null +++ b/scripts/build_step.inc.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +# variables used for logging build steps, use build_step() and +# build_step_done() for setting or clearing them. +BUILD_STEP_FILE="$(mktemp)" +BUILD_STEP_PID='' +BUILD_STEP_DELAY='1m' + +build_step_log() { + echo "$(date) -- ${*}" +} + +# start a build step, and log every +build_step() { + echo "${*}" > "${BUILD_STEP_FILE}" + build_step_log "starting: $(cat "${BUILD_STEP_FILE}")" + [ -n "${BUILD_STEP_PID}" ] && return + while sleep "${BUILD_STEP_DELAY}" + do + build_step_log "running: $(cat "${BUILD_STEP_FILE}")" + done & BUILD_STEP_PID=${!} +} + +# clean up the logging of build steps +build_steps_cleanup() { + [ -n "${BUILD_STEP_PID}" ] && kill "${BUILD_STEP_PID}" + rm -f "${BUILD_STEP_FILE}" + BUILD_STEP_PID='' +} + +# automatically stop build step logging and cleanup temporary file +trap build_steps_cleanup EXIT +