]> CyberLeo.Net >> Repos - CDN/Mosi.git/blob - script/lib/log.sh
script/makepkg: exclude current port from port_available_deps; sort output too
[CDN/Mosi.git] / script / lib / log.sh
1 # Include for convenience log functions
2 # Set _log_to_stderr to send messages to stderr as well, for logging
3
4 if [ -z "${__log_sh_loaded}" ]
5 then
6   __log_sh_loaded=yes
7   
8   want ansi
9
10   logf() {
11     printf "${@}"
12     [ -n "${_log_to_stderr}" ] && printf "${@}" >&2
13     return 0
14   }
15
16   note() {
17     printf " ${a_cyan}*${a_normal} "
18     echo "${*}"
19     [ -n "${_log_to_stderr}" ] && echo "* note: ${*}" >&2
20     return 0
21   }
22
23   log() {
24     printf " ${a_green}*${a_normal} "
25     echo "${*}"
26     [ -n "${_log_to_stderr}" ] && echo "* log: ${*}" >&2
27     return 0
28   }
29   alias meh=log
30
31   warn() {
32     printf " ${a_yellow}*${a_normal} "
33     echo "${*}"
34     [ -n "${_log_to_stderr}" ] && echo "* warn: ${*}" >&2
35     return 0
36   }
37   alias omg=warn
38
39   err() {
40     printf " ${a_red}*${a_normal} "
41     echo "${*}"
42     [ -n "${_log_to_stderr}" ] && echo "* err: ${*}" >&2
43     exit 1
44   }
45   alias wtf=err
46
47   chk() {
48     _res=$?
49     if [ $# -gt 0 ]
50     then
51       out=$("${@}")
52       _res=$?
53     fi
54     if [ ${_res} -gt 0 ]
55     then
56       [ -n "${*}" ] && echo " ${a_red}*${a_normal} in '$(pwd)': cmd '${*}' failed with status ${_res}"
57       [ -n "${out}" ] && printf " ${a_red}*${a_normal} Output:\n${out}\n"
58       echo ""
59       kill $$
60     fi
61   }
62 fi