Compare commits

..

No commits in common. "7a8915682d3333a6a04215669346ae87bd9d355c" and "449958091b0e5f3a15d8568487d46fda1d90fee2" have entirely different histories.

2 changed files with 59 additions and 48 deletions

View file

@ -17,31 +17,17 @@ RWX_LOG_LEVEL_TRACE=5
# │ log │ variables │
# ╰─────┴───────────╯
rwx_log_level=${RWX_LOG_LEVEL_INFO}
RWX_LOG_LEVEL=${RWX_LOG_LEVEL_INFO}
# ╭─────┬───────────
# │ log │ functions
# ╰─────┴───────────
# ╭─────┬─────
# │ log │ log
# ╰─────┴─────
_rwx_log() {
local prefix="${1}"
shift
[ ${#} -gt 0 ] || set -- ""
local line
for line in "${@}"; do
[ -n "${prefix}" ] &&
printf "%s" "[${prefix}] "
echo "${line}"
done
}
rwx_log() { rwx_log_info "${@}"; }
rwx_log_fatal() {
local code="${1}"
shift
[ -n "${code}" ] || rwx_log_fatal 1 "No error code"
if [ "${rwx_log_level}" -ge "${RWX_LOG_LEVEL_FATAL}" ]; then
_rwx_log "FATAL" "${@}" >&2
exit "${code}"
rwx_log_debug() {
if [ "${RWX_LOG_LEVEL}" -ge "${RWX_LOG_LEVEL_DEBUG}" ]; then
_rwx_log "[DEBUG]" "${@}"
fi
}
@ -49,33 +35,60 @@ rwx_log_error() {
local code="${1}"
shift
[ -n "${code}" ] || rwx_log_fatal 1 "No error code"
if [ "${rwx_log_level}" -ge "${RWX_LOG_LEVEL_ERROR}" ]; then
_rwx_log "ERROR" "${@}" >&2
if [ "${RWX_LOG_LEVEL}" -ge "${RWX_LOG_LEVEL_ERROR}" ]; then
_rwx_log "[ERROR]" "${@}" >&2
return "${code}"
fi
}
rwx_log_warn() {
if [ "${rwx_log_level}" -ge "${RWX_LOG_LEVEL_WARN}" ]; then
_rwx_log " WARN" "${@}"
rwx_log_fatal() {
local code="${1}"
shift
[ -n "${code}" ] || rwx_log_fatal 1 "No error code"
if [ "${RWX_LOG_LEVEL}" -ge "${RWX_LOG_LEVEL_FATAL}" ]; then
_rwx_log "[FATAL]" "${@}" >&2
exit "${code}"
fi
}
#= rwx_log
rwx_log_info() {
if [ "${rwx_log_level}" -ge "${RWX_LOG_LEVEL_INFO}" ]; then
if [ "${RWX_LOG_LEVEL}" -ge "${RWX_LOG_LEVEL_INFO}" ]; then
_rwx_log "" "${@}"
fi
}
rwx_log_debug() {
if [ "${rwx_log_level}" -ge "${RWX_LOG_LEVEL_DEBUG}" ]; then
_rwx_log "DEBUG" "${@}"
rwx_log_trace() {
if [ "${RWX_LOG_LEVEL}" -ge "${RWX_LOG_LEVEL_TRACE}" ]; then
_rwx_log "[TRACE]" "${@}"
fi
}
rwx_log_trace() {
if [ "${rwx_log_level}" -ge "${RWX_LOG_LEVEL_TRACE}" ]; then
_rwx_log "TRACE" "${@}"
rwx_log_warn() {
if [ "${RWX_LOG_LEVEL}" -ge "${RWX_LOG_LEVEL_WARN}" ]; then
_rwx_log "[ WARN]" "${@}"
fi
}
# TODO simplify
_rwx_main_log() {
[ ${#} -gt 0 ] || set -- ""
local line
for line in "${@}"; do
echo "${line}"
done
}
_rwx_log() {
local prefix="${1}"
shift
[ ${#} -gt 0 ] || set -- ""
local line
for line in "${@}"; do
if [ -n "${prefix}" ]; then
_rwx_main_log "${prefix} ${line}"
else
_rwx_main_log "${line}"
fi
done
}

View file

@ -2,32 +2,33 @@
# ╭──────╮
# │ main │
# ╰──────╯
# main module
# ╭──────┬───────────╮
# │ main │ constants │
# ╰──────┴───────────╯
# project parent directory
# parent directory for the project
RWX_MAIN_PARENT="/usr/local/lib"
# project name
# name of the project itself
RWX_MAIN_NAME="rwx"
# project entrypoint module
# name of the entrypoint module
RWX_MAIN_MODULE="main"
# shell modules extension
# extension of shell modules
RWX_MAIN_EXTENSION="sh"
# ╭──────┬───────────╮
# │ main │ variables │
# ╰──────┴───────────╯
# project main root directory
# system root directory of the project
rwx_main_root="${RWX_MAIN_PARENT}/${RWX_MAIN_NAME}"
# ╭──────┬──────╮
# │ main │ find │
# ╰──────┴──────╯
# find root directory shell modules
# find directory’s shell files
#| find
#| sed
#| sort
@ -46,16 +47,13 @@ rwx_main_find() {
# │ main │ main │
# ╰──────┴──────╯
# run required initial steps
# run initial steps
#< core/code
rwx_main_main() {
local module
local modules
# find main modules
local module modules
# find & source modules
modules="$(rwx_main_find "${rwx_main_root}")"
# source main modules
while IFS= read -r module; do
# except currently running main module
if [ "${module}" != "${RWX_MAIN_MODULE}" ]; then
# shellcheck disable=SC1090
. "${rwx_main_root}/${module}.${RWX_MAIN_EXTENSION}"
@ -63,7 +61,7 @@ rwx_main_main() {
done <<EOF
${modules}
EOF
# run code module main function with found main modules
# run code main function
rwx_code_main "${modules}" "${@}"
}