From b1acee52925f080cfceb60e35abeabc78ac3c307 Mon Sep 17 00:00:00 2001 From: a-sansara Date: Sun, 30 Apr 2017 02:10:06 +0200 Subject: [PATCH] enhance display + add bes.main fn --- src/display.sh | 29 +++++++++++++-------- src/main.sh | 70 ++++++++++++++++++++++++++------------------------ 2 files changed, 56 insertions(+), 43 deletions(-) diff --git a/src/display.sh b/src/display.sh index 16d6f4c..1be238c 100755 --- a/src/display.sh +++ b/src/display.sh @@ -5,14 +5,16 @@ BES_TERM_WIDTH=105 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if [ "$BES_NOCOLOR" -eq 0 ]; then - Cok="\033[0;38;5;37m"; Cko="\033[0;38;5;217m" - Coff="\033[m"; Ctitle="\033[1;48;5;23;1;38;5;15m" - Cspe="\033[1;38;5;223m"; Citem="\033[1;38;5;214m" - Cval="\033[1;38;5;215m"; Cusa="\033[1;38;5;214m" - Cbra="\033[1;38;5;203m"; Crepo="\033[1;38;5;223m" - Cmeta="\033[1;38;5;30m"; Ctext="\033[1;38;5;30m" - Copt="\033[1;38;5;81m"; Csep="\033[1;38;5;241m" - Cerr="\033[1;38;5;196m"; Ccom="\033[0;38;5;139m" + Cok="\033[0;38;5;37m"; Cko="\033[0;38;5;217m" + Coff="\033[m"; Ctitle="\033[1;48;5;23;1;38;5;15m" + Cdone="\033[1;48;5;36;1;38;5;15m"; Cfail="\033[1;48;5;196;1;38;5;15m" + Cspe="\033[1;38;5;223m"; Citem="\033[1;38;5;214m" + Cval="\033[1;38;5;215m"; Cusa="\033[1;38;5;214m" + Cbra="\033[1;38;5;203m"; Crepo="\033[1;38;5;223m" + Cmeta="\033[1;38;5;30m"; Ctext="\033[1;38;5;30m" + Copt="\033[1;38;5;81m"; Csep="\033[1;38;5;241m" + Cerr="\033[1;38;5;196m"; Ccom="\033[0;38;5;139m" + Csection="\033[1;38;5;97m"; fi # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bes.echo(){ @@ -40,6 +42,11 @@ bes.echo.action(){ bes.echo "$1" 1 } # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +bes.echo.title(){ + bes.echo " ${Cspe}☪ ${Csection}$1 ${Copt}$2${Coff}" + echo +} +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bes.echo.keyval(){ local c=': ' if [ ! "$BES_NOCOLOR" = 1 ]; then @@ -49,10 +56,12 @@ bes.echo.keyval(){ } # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bes.echo.state(){ + local len=8 + printf "%0.s " $(seq 1 $(($BES_TERM_WIDTH-${len}))) if [ "$1" = 0 ]; then - echo " done !" + echo -e "${Cdone} OK ${Coff}" else - echo " fail !" + echo -e "${Cfail} KO ${Coff}" fi } # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/main.sh b/src/main.sh index 96cc3ef..68d083e 100755 --- a/src/main.sh +++ b/src/main.sh @@ -8,38 +8,42 @@ bes.title 'bes-build' $BES_BUILD_VERSION APP_NAME=$(basename $(pwd)) APP_BIN=$APP_DIR/dist/$APP_NAME -echo -bes.echo " ${Cspe}building project ${Copt}$APP_NAME${Coff}" 0 -echo -if [ -d "$APP_DIR/src" ]; then - if [ ! -d "$APP_DIR/dist" ]; then - bes.echo.action "creating dist directory" - mkdir $APP_DIR/dist - bes.echo.state $? - fi - if [ -f "$APP_BIN" ]; then - bes.echo.action "removing ${Coff}dist/$APP_NAME${Coff}" - rm $APP_BIN - bes.echo.state $? - fi - echo "#!/bin/bash" > $APP_BIN - bes.echo.action "reading ${Coff}src/" - for entry in "$APP_DIR/src"/*.sh; do - if [ "$(basename $entry)" != "main.sh" ]; then - bes.echo " - appending ${Coff}src/$(basename $entry)" - tail -n +2 "$entry" >> "$APP_BIN" +bes.main(){ + + echo + bes.echo.title "building project" "$APP_NAME" + if [ -d "$APP_DIR/src" ]; then + if [ ! -d "$APP_DIR/dist" ]; then + bes.echo.action "creating dist directory" + mkdir $APP_DIR/dist + bes.echo.state $? fi - done - if [ -f "$APP_DIR/src/main.sh" ]; then - tail -n +2 "$APP_DIR/src/main.sh" >> "$APP_BIN" - bes.echo " - appending ${Coff}src/main.sh" + if [ -f "$APP_BIN" ]; then + bes.echo.action "removing ${Coff}dist/$APP_NAME${Coff}" + rm $APP_BIN + bes.echo.state $? + fi + echo "#!/bin/bash" > $APP_BIN + bes.echo.action "reading ${Coff}src/" + for entry in "$APP_DIR/src"/*.sh; do + if [ "$(basename $entry)" != "main.sh" ]; then + bes.echo " - appending ${Coff}src/$(basename $entry)" + tail -n +2 "$entry" >> "$APP_BIN" + fi + done + if [ -f "$APP_DIR/src/main.sh" ]; then + tail -n +2 "$APP_DIR/src/main.sh" >> "$APP_BIN" + bes.echo " - appending ${Coff}src/main.sh" + fi + bes.echo.state 0 + bes.echo.action "set execution mode" + chmod +x $APP_BIN + bes.echo.state $? + else + bes.echo.error "no src/ directory. exit" + bes.echo.state 1 fi - bes.echo.state 0 - bes.echo.action "set execution mode" - chmod +x $APP_BIN - bes.echo.state $? -else - bes.echo.error "no src/ directory. exit" - bes.echo.state 1 -fi -echo + echo +} + +bes.main $*