blob: 074b749a6f998d3076049474ac5449cdba717b11 [file] [log] [blame]
#!/usr/bin/env bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# In case "VERBOSE_COMMANDS" is set to "true" set -x is used to enable debugging
DOCKER_BINARY_PATH="${DOCKER_BINARY_PATH:=$(command -v docker || echo "/bin/docker")}"
export DOCKER_BINARY_PATH
function verbosity::store_exit_on_error_status() {
exit_on_error="false"
# If 'set -e' is set before entering the function, remember it, so you can restore before return!
if [[ $- == *e* ]]; then
exit_on_error="true"
fi
set +e
}
function verbosity::restore_exit_on_error_status() {
if [[ ${exit_on_error} == "true" ]]; then
set -e
fi
unset exit_on_error
}
# Prints verbose information in case VERBOSE variable is set
function verbosity::print_info() {
if [[ ${VERBOSE:="false"} == "true" && ${PRINT_INFO_FROM_SCRIPTS} == "true" ]]; then
echo "$@"
fi
}
function verbosity::set_verbosity() {
# whether verbose output should be produced
export VERBOSE=${VERBOSE:="false"}
# whether every bash statement should be printed as they are executed
export VERBOSE_COMMANDS=${VERBOSE_COMMANDS:="false"}
# whether the output from script should be printed at all
export PRINT_INFO_FROM_SCRIPTS=${PRINT_INFO_FROM_SCRIPTS:="true"}
}
verbosity::set_verbosity