#
################################################################################
#
-# Name: lf-echo-stderr
+# NAME
+# lf-echo-stderr
#
# SYNOPSIS
# source ~/lf-env.sh
#
################################################################################
-function lf-echo-stderr() { echo "$@" 1>&2; }
+lf-echo-stderr () {
+ echo "$@" 1>&2
+}
################################################################################
#
# NAME
-# lf-boolean()
+# lf-boolean
#
# SYNOPSIS
# # shellcheck disable=SC1090
#
################################################################################
-function lf-boolean()
-{
+lf-boolean () {
if (( $# != 1 )); then
echo "ERROR: ${FUNCNAME[0]}() line: ${BASH_LINENO[0]} : Missing Required Argument"
return 1
true) return 0 ;;
false) return 1 ;;
'')
- lf-echo-stderr "ERROR: ${FUNCNAME[0]}() line:{BASH_LINENO[0]} : A boolean cannot be a empty string" >&2
- return 2
- ;;
+ lf-echo-stderr "ERROR: ${FUNCNAME[0]}() line:{BASH_LINENO[0]} : A boolean cannot be a empty string" >&2
+ return 2
+ ;;
*)
lf-echo-stderr "ERROR: ${FUNCNAME[0]}() line: ${BASH_LINENO[0]} : Invalid value for a boolean: '$bool'"
return 2
#
################################################################################
-function lf-activate-venv()
-{
+lf-activate-venv () {
lf_venv=$(mktemp -d /tmp/venv-XXXX)
local python=python3
local options
*) lf-echo-stderr "${FUNCNAME[0]}(): ERROR: Unknown switch '$1'." ; return 1 ;;
esac
done
- if ! type $python > /dev/null; then
+ if ! type "$python" > /dev/null; then
lf-echo-stderr "${FUNCNAME[0]}(): ERROR: Unknown Python: $python"
return 1
fi
python2*)
local pkg_list="$*"
# For Python2, just create venv and install pip
- virtualenv -p $python $lf_venv || return 1
- $lf_venv/bin/pip install --upgrade --quiet pip || return 1
+ virtualenv -p "$python" "$lf_venv" || return 1
+ "$lf_venv/bin/pip" install --upgrade --quiet pip || return 1
if [[ -z $pkg_list ]]; then
echo "${FUNCNAME[0]}(): WARNING: No packages to install"
return 0
fi
echo "${FUNCNAME[0]}(): INFO: Installing: $pkg_list"
- $lf_venv/bin/pip install --upgrade --quiet $pkg_list || return 1
+ # $pkg_list is expected to be unquoted
+ # shellcheck disable=SC2086
+ "$lf_venv/bin/pip" install --upgrade --quiet $pkg_list || return 1
;;
python3*)
local pkg_list=""
*) pkg_list+="$arg " ;;
esac
done
- $python -m venv $install_args $lf_venv || return 1
- $lf_venv/bin/pip install --upgrade --quiet pip virtualenv || return 1
+ $python -m venv "$install_args" "$lf_venv" || return 1
+ "$lf_venv/bin/pip" install --upgrade --quiet pip virtualenv || return 1
if [[ -z $pkg_list ]]; then
echo "${FUNCNAME[0]}(): WARNING: No packages to install"
return 0
fi
echo "${FUNCNAME[0]}(): INFO: Installing: $pkg_list"
- $lf_venv/bin/pip install --upgrade --quiet --upgrade-strategy eager \
- $pkg_list || return 1
+ # $pkg_list is expected to be unquoted
+ # shellcheck disable=SC2086
+ "$lf_venv/bin/pip" install --upgrade --quiet --upgrade-strategy eager \
+ $pkg_list || return 1
;;
*)
lf-echo-stderr "${FUNCNAME[0]}(): ERROR: No support for: $python"
echo "${FUNCNAME[0]}(): INFO: Path not set, lf_venv set to: $lf_venv"
fi
-} # End lf-activate-venv()
+} # End lf-activate-venv
################################################################################
#
#
################################################################################
-function lf-git-validate-jira-urls()
-{
+lf-git-validate-jira-urls () {
echo "Checking for JIRA URLs in commit message..."
# if JIRA_URL is not defined, nothing to do
if [[ -v JIRA_URL ]]; then
################################################################################
#
# NAME
-# lf-jjb-check-ascii()
+# lf-jjb-check-ascii
#
# SYNOPSIS
# # shellcheck disable=SC1090
#
################################################################################
-function lf-jjb-check-ascii()
-{
+lf-jjb-check-ascii () {
if [[ ! -d "jjb" ]]; then
lf-echo-stderr "${FUNCNAME[0]}(): ERROR: missing jjb directory"
lf-echo-stderr "This function can only be run from top of global-jjb directory"
# Shellcheck knows they are shell variables and will check for
# 'used-before-set'.
-function lf-set-maven-options()
-{
+lf-set-maven-options () {
# Disable 'unused-variable' check
# shellcheck disable=SC2034
maven_options="--show-version --batch-mode -Djenkins \