adding build.sh
This commit is contained in:
parent
b1acee5292
commit
5fcea7dc9b
206
dist/bes-build
vendored
206
dist/bes-build
vendored
|
@ -1,99 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
BES_TERM_WIDTH=105
|
bes.build(){
|
||||||
BES_NOCOLOR=0
|
bes.echo.title "building project" "$APP_NAME"
|
||||||
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
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"
|
|
||||||
fi
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
bes.echo(){
|
|
||||||
local msg=${1:-''}
|
|
||||||
local isAction=${2:-'0'}
|
|
||||||
local symbol=${3:-' *'}
|
|
||||||
if [ ! "$BES_NOCOLOR" = 1 ]; then
|
|
||||||
local c=$Cko
|
|
||||||
if [ -z "$isAction" ] || [ "$isAction" = 1 ]; then
|
|
||||||
c=$Cok
|
|
||||||
fi
|
|
||||||
if [ ! "$isAction" = 0 ]; then
|
|
||||||
c=" $Citem$symbol $c"
|
|
||||||
fi
|
|
||||||
echo -e " $c$msg$Coff"
|
|
||||||
else
|
|
||||||
if [ ! "$isAction" = 0 ]; then
|
|
||||||
msg=" $symbol $msg"
|
|
||||||
fi
|
|
||||||
echo -e "$msg"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
bes.echo.action(){
|
|
||||||
bes.echo "$1" 1
|
|
||||||
}
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
bes.echo.keyval(){
|
|
||||||
local c=': '
|
|
||||||
if [ ! "$BES_NOCOLOR" = 1 ]; then
|
|
||||||
c="$Citem: ${Cval}"
|
|
||||||
fi
|
|
||||||
bes.echo " $1 $c$2" 1 " "
|
|
||||||
}
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
bes.echo.state(){
|
|
||||||
if [ "$1" = 0 ]; then
|
|
||||||
echo " done !"
|
|
||||||
else
|
|
||||||
echo " fail !"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
bes.echo.error(){
|
|
||||||
echo -e "\n${Cerr} error : ${Coff}\n\t$1 ${Coff}\n"
|
|
||||||
}
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
bes.sepline(){
|
|
||||||
local char=${1:-'_'}
|
|
||||||
local width=${2:-$BES_TERM_WIDTH}
|
|
||||||
echo -ne "${Csep} "
|
|
||||||
printf "%0.s$char" $(seq 1 $width)
|
|
||||||
echo -e "${Coff}"
|
|
||||||
}
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
bes.title(){
|
|
||||||
local msg=${1:-''}
|
|
||||||
local version=${2:-''}
|
|
||||||
local author=${3:-'a-Sansara'}
|
|
||||||
if [ ! -z "$2" ]; then
|
|
||||||
msg="$msg ${Cval}v$version"
|
|
||||||
fi
|
|
||||||
local len="$1${version}license : GNU GPL v3 author:$author"
|
|
||||||
bes.sepline
|
|
||||||
echo -ne "\n $Ctitle $msg $Coff"
|
|
||||||
printf "%0.s " $(seq 1 $(($BES_TERM_WIDTH-${#len}-15)))
|
|
||||||
echo -e " ${Cmeta}license : ${Coff}GNU GPL v3 ${Cmeta}author : ${Cval}$author"
|
|
||||||
bes.sepline
|
|
||||||
}
|
|
||||||
|
|
||||||
BES_BUILD_VERSION=0.2
|
|
||||||
|
|
||||||
bes.title 'bes-build' $BES_BUILD_VERSION
|
|
||||||
|
|
||||||
APP_DIR=$(pwd)
|
|
||||||
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/src" ]; then
|
||||||
if [ ! -d "$APP_DIR/dist" ]; then
|
if [ ! -d "$APP_DIR/dist" ]; then
|
||||||
bes.echo.action "creating dist directory"
|
bes.echo.action "creating dist directory"
|
||||||
|
@ -126,3 +34,113 @@ else
|
||||||
bes.echo.state 1
|
bes.echo.state 1
|
||||||
fi
|
fi
|
||||||
echo
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
BES_TERM_WIDTH=105
|
||||||
|
BES_NOCOLOR=0
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
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"
|
||||||
|
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(){
|
||||||
|
local msg=${1:-''}
|
||||||
|
local isAction=${2:-'0'}
|
||||||
|
local symbol=${3:-' *'}
|
||||||
|
if [ ! "$BES_NOCOLOR" = 1 ]; then
|
||||||
|
local c=$Cko
|
||||||
|
if [ -z "$isAction" ] || [ "$isAction" = 1 ]; then
|
||||||
|
c=$Cok
|
||||||
|
fi
|
||||||
|
if [ ! "$isAction" = 0 ]; then
|
||||||
|
c=" $Citem$symbol $c"
|
||||||
|
fi
|
||||||
|
echo -e " $c$msg$Coff"
|
||||||
|
else
|
||||||
|
if [ ! "$isAction" = 0 ]; then
|
||||||
|
msg=" $symbol $msg"
|
||||||
|
fi
|
||||||
|
echo -e "$msg"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
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
|
||||||
|
c="$Citem: ${Cval}"
|
||||||
|
fi
|
||||||
|
bes.echo " $1 $c$2" 1 " "
|
||||||
|
}
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
bes.echo.state(){
|
||||||
|
local len=8
|
||||||
|
printf "%0.s " $(seq 1 $(($BES_TERM_WIDTH-${len})))
|
||||||
|
if [ "$1" = 0 ]; then
|
||||||
|
echo -e "${Cdone} OK ${Coff}"
|
||||||
|
else
|
||||||
|
echo -e "${Cfail} KO ${Coff}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
bes.echo.error(){
|
||||||
|
echo -e "\n${Cerr} error : ${Coff}\n\t$1 ${Coff}\n"
|
||||||
|
}
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
bes.sepline(){
|
||||||
|
local char=${1:-'_'}
|
||||||
|
local width=${2:-$BES_TERM_WIDTH}
|
||||||
|
echo -ne "${Csep} "
|
||||||
|
printf "%0.s$char" $(seq 1 $width)
|
||||||
|
echo -e "${Coff}"
|
||||||
|
}
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
bes.title(){
|
||||||
|
local msg=${1:-''}
|
||||||
|
local version=${2:-''}
|
||||||
|
local author=${3:-'a-Sansara'}
|
||||||
|
if [ ! -z "$2" ]; then
|
||||||
|
msg="$msg ${Cval}v$version"
|
||||||
|
fi
|
||||||
|
local len="$1${version}license : GNU GPL v3 author:$author"
|
||||||
|
bes.sepline
|
||||||
|
echo -ne "\n $Ctitle $msg $Coff"
|
||||||
|
printf "%0.s " $(seq 1 $(($BES_TERM_WIDTH-${#len}-15)))
|
||||||
|
echo -e " ${Cmeta}license : ${Coff}GNU GPL v3 ${Cmeta}author : ${Cval}$author"
|
||||||
|
bes.sepline
|
||||||
|
}
|
||||||
|
|
||||||
|
BES_BUILD_VERSION=0.2
|
||||||
|
APP_DIR=$(pwd)
|
||||||
|
APP_NAME=$(basename $(pwd))
|
||||||
|
APP_BIN=$APP_DIR/dist/$APP_NAME
|
||||||
|
|
||||||
|
bes.main(){
|
||||||
|
bes.title 'bes-build' $BES_BUILD_VERSION
|
||||||
|
echo
|
||||||
|
if [ "$1" = "install" ]; then
|
||||||
|
bes.install
|
||||||
|
elif [ -z "$1" ]; then
|
||||||
|
bes.build "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
bes.main $*
|
||||||
|
|
37
src/build.sh
Normal file
37
src/build.sh
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
bes.build(){
|
||||||
|
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
|
||||||
|
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
|
||||||
|
echo
|
||||||
|
}
|
41
src/main.sh
41
src/main.sh
|
@ -1,49 +1,18 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
BES_BUILD_VERSION=0.2
|
BES_BUILD_VERSION=0.2
|
||||||
|
|
||||||
bes.title 'bes-build' $BES_BUILD_VERSION
|
|
||||||
|
|
||||||
APP_DIR=$(pwd)
|
APP_DIR=$(pwd)
|
||||||
APP_NAME=$(basename $(pwd))
|
APP_NAME=$(basename $(pwd))
|
||||||
APP_BIN=$APP_DIR/dist/$APP_NAME
|
APP_BIN=$APP_DIR/dist/$APP_NAME
|
||||||
|
|
||||||
bes.main(){
|
bes.main(){
|
||||||
|
bes.title 'bes-build' $BES_BUILD_VERSION
|
||||||
echo
|
echo
|
||||||
bes.echo.title "building project" "$APP_NAME"
|
if [ "$1" = "install" ]; then
|
||||||
if [ -d "$APP_DIR/src" ]; then
|
bes.install
|
||||||
if [ ! -d "$APP_DIR/dist" ]; then
|
elif [ -z "$1" ]; then
|
||||||
bes.echo.action "creating dist directory"
|
bes.build "$1"
|
||||||
mkdir $APP_DIR/dist
|
|
||||||
bes.echo.state $?
|
|
||||||
fi
|
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"
|
|
||||||
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
|
|
||||||
echo
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bes.main $*
|
bes.main $*
|
||||||
|
|
Loading…
Reference in New Issue
Block a user