Ports generic-scripts-module-v1 into a routed skill: module anatomy, shared loggers/base modules, Taskfile integration, workflows, and pattern decisions. Fixes a latent defect in the loggers example that silenced all logging in the module scaffold: loggers/lib/--index-api.sh now sources --env-vars-reader.sh, and the reader preserves already-exported values so caller overrides still win. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
76 lines
2.1 KiB
Bash
Executable File
76 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# -------------------------------------------------------------------------------------
|
|
# IBM Confidential
|
|
# 6949-70F, 6949-80D
|
|
# © Copyright IBM Corp. 2018, 2024
|
|
# US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
|
|
# -------------------------------------------------------------------------------------
|
|
|
|
. ./.scripts/loggers/lib/--env-vars-reader.sh
|
|
|
|
TMP_BASE_LIB_ENV_VARS_READER=".scripts/base/lib/--env-vars-reader.sh"
|
|
|
|
export LOCAL_OS_TYPE="darwin"
|
|
export LOCAL_CPU_TYPE="amd64"
|
|
export LOCAL_HOME_DIR=$(pwd)
|
|
export LOCAL_HOME_DIR_NAME=${PWD##*/}
|
|
export LOCAL_GIT_ROOT_DIR=$(dirname "${LOCAL_HOME_DIR}")
|
|
export LOCAL_CACHE_DIR_KUBE=".kube"
|
|
|
|
export LOCAL_FILE_DOT_ENV=".env"
|
|
|
|
# Pre-load CA_ENVIRONMENT from .env if not already set
|
|
if [ -z "${CA_ENVIRONMENT}" ] && [ -f "${LOCAL_FILE_DOT_ENV}" ]; then
|
|
export CA_ENVIRONMENT=$(grep '^CA_ENVIRONMENT=' "${LOCAL_FILE_DOT_ENV}" | cut -d'=' -f2- | tr -d '"' | tr -d "'")
|
|
fi
|
|
|
|
export LOCAL_FILE_DOT_ENV_CA_ENVIRONMENT=".env-${CA_ENVIRONMENT}"
|
|
|
|
. ./.scripts/base/lib/-export-env-variables-from-file-dot-env.sh
|
|
|
|
_loggers_info "${CA_ENVIRONMENT}" "CA_ENVIRONMENT: ${CA_ENVIRONMENT}"
|
|
_loggers_info "${CA_ENVIRONMENT}" "LOCAL_FILE_DOT_ENV: ${LOCAL_FILE_DOT_ENV}"
|
|
_loggers_info "${CA_ENVIRONMENT}" "LOCAL_FILE_DOT_ENV_CA_ENVIRONMENT: ${LOCAL_FILE_DOT_ENV_CA_ENVIRONMENT}"
|
|
|
|
if
|
|
[ ! -e "${LOCAL_FILE_DOT_ENV}" ]
|
|
then
|
|
_loggers_error "${LOCAL_FILE_DOT_ENV}" "Missing ${LOCAL_FILE_DOT_ENV} file."
|
|
exit 1
|
|
else
|
|
set -o allexport
|
|
. "./${LOCAL_FILE_DOT_ENV}"
|
|
set +o allexport
|
|
fi
|
|
|
|
if
|
|
[ ! -e "${LOCAL_FILE_DOT_ENV_CA_ENVIRONMENT}" ]
|
|
then
|
|
_loggers_error "${TMP_BASE_LIB_ENV_VARS_READER}" "Missing ${LOCAL_FILE_DOT_ENV_CA_ENVIRONMENT} file."
|
|
exit 1
|
|
else
|
|
set -o allexport
|
|
. "./${LOCAL_FILE_DOT_ENV_CA_ENVIRONMENT}"
|
|
set +o allexport
|
|
fi
|
|
|
|
mkdir -p "${LOCAL_CACHE_DIR_KUBE}"
|
|
|
|
ALL_ARGS=("$@")
|
|
while [[ "$#" -gt 0 ]]; do
|
|
case $1 in
|
|
--local-os-type)
|
|
export LOCAL_OS_TYPE="$2"
|
|
;;
|
|
--local-cpu-type)
|
|
export LOCAL_CPU_TYPE="$2"
|
|
;;
|
|
--local-file-dot-env)
|
|
export LOCAL_FILE_DOT_ENV="$2"
|
|
;;
|
|
*) ;;
|
|
esac
|
|
shift
|
|
done
|
|
set -- "${ALL_ARGS[@]}"
|