Compare commits

..

No commits in common. "master" and "0.10" have entirely different histories.
master ... 0.10

9 changed files with 47 additions and 282 deletions

View File

@ -66,7 +66,7 @@ to use **bes-build** like a dependency manager, you need a `bes.ini` file in you
```ini
[require]
bes.echo = 1.4
bes.echo = 1.3
```
then you can run the `update` command before building
@ -86,7 +86,7 @@ since version 0.6 you can now add external dependencies :
```ini
[require]
test.echo = https://gitea.meta-tech.academy/meta-tech/bes-echo:master
test.echo = https://git.pluie.org/meta-tech/bes-echo:master
```
@ -99,14 +99,11 @@ if you intend to release your lib as a bes dependency you must provide a bes.ini
[project]
vendor = bes
name = echo
version = 1.4
version = 1.3
license = "GNU GPL v3"
author = a-Sansara
type = library
homepage = "https://gitea.meta-tech.academy/meta-tech/bes-echo"
homepage = "https://git.pluie.org/meta-tech/bes-echo"
description = "bash bes display utility library"
keywords = "bash, bes"
[require]
bes.color = 1.4
```

View File

@ -1,13 +1,13 @@
[project]
vendor = bes
name = build
version = 0.13
version = 0.10
license = "GNU GPL v3"
author = a-Sansara
type = application
homepage = "https://gitea.meta-tech.academy/meta-tech/bes-build"
homepage = "https://git.pluie.org/meta-tech/bes-build"
description = "bash bes build application for bash programs"
keywords = "bash, bes, build"
[require]
bes.install = 1.4
bes.install = 1.3

159
dist/bes-build vendored
View File

@ -2,9 +2,9 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BES_BOOT=
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function bes.exists () {
function bes.exists () {
declare -f $1 > /dev/null
#~ [ x$(type -t $1) = xfunction ];
#~ [ x$(type -t $1) = xfunction ];
}
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function bes.boot ()
@ -245,7 +245,7 @@ function echo.app ()
local msg=${1:-''}
local version=${2:-''}
local author=${3:-'a-Sansara'}
local license=${4:-'GNU GPL v3'}
local license=${3:-'GNU GPL v3'}
if [ ! -z "$2" ]; then
msg="$msg ${Cval}v$version"
fi
@ -600,11 +600,11 @@ function bes.install ()
function bes.build ()
{
echo.title "building project" "$APP_NAME"
if [ -d "$APP_DIR/src" ]; then
if [ -d "$APP_DIR/src" ]; then
if [ ! -d "$APP_DIR/dist" ]; then
echo.action "creating dist directory"
mkdir $APP_DIR/dist
echo.state $?
cho.state $?
fi
if [ -f "$APP_BIN" ]; then
if [ "$1" = "backup" ] || [ "$1" = "-b" ]; then
@ -620,9 +620,9 @@ function bes.build ()
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BES_BOOT=
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function bes.exists () {
function bes.exists () {
declare -f \$1 > /dev/null
#~ [ x\$(type -t \$1) = xfunction ];
#~ [ x\$(type -t \$1) = xfunction ];
}
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function bes.boot ()
@ -666,7 +666,7 @@ function bes.reg ()
echo.msg " no dependencies, did you forget to run bes-build update ?"
fi
echo.state 0
echo.action "reading ${Coff}src/"
for entry in "$APP_DIR/src"/*.sh; do
if [ "$(basename $entry)" != "main.sh" ]; then
@ -725,7 +725,7 @@ sep = 80 80 80
err = 194 48 64
val = 255 175 95
key = 40 168 134
action = 106 183 241
action = 106 183 241
symbol = 255 175 95
item = 92 147 181
usa = 255 172 0
@ -738,107 +738,12 @@ meta = 39 100 170" > "$tmp"
echo.state $?
else
echo.action "Installing default colors file" "$Cspe$path$Cofff"
echo.error "file already exists, do not rewrite."
echo.error "file already exists. do not rewrite"
echo.state 1
fi
}
function bes.build.new () {
local prj=${1}
echo.title "creating new project" "$prj"
if [ -d "$APP_DIR/$prj" ]; then
echo.error "directory $prj already exists" 1
else
echo.action "creating directory" "$prj" "*" "Cusa"
mkdir "$APP_DIR/$prj"
echo.state $?
echo.action "creating project config file" "bes.ini" "*" "Cusa"
echo -e "[project]
vendor =
name = $prj
version = 0.1
license = \"GNU GPL v3\"
author =
type = application
homepage =
description = \"bash bes $prj application\"
keywords = \"bash $prj\"
[require]
bes.install = 1.4
" > "$APP_DIR/$prj/bes.ini"
echo.state $?
echo.action "Creating directory" "src" "*" "Cusa"
mkdir $APP_DIR/$prj/src
echo.state $?
echo.action "Adding default templates" "main" "*" "Cusa"
echo "#!/bin/bash
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BES_VERSION=0.1
BES_AUTHOR=me
BES_LICENSE=MIT
BES_NAME=\"$prj\"
BES_URL=\"https://your.forge.git/vendor/\$BES_NAME/raw/latest/dist/\$BES_NAME\"
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function $prj.main ()
{
echo.msg \"hello bes\" \"\$Citem\"
echo.rs \$?
echo
}
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function bes.main ()
{
if [ \"\$1\" = \"version\" ] || [ \"\$1\" = \"-v\" ]; then
echo \$BES_VERSION
else
echo.app \"\$BES_NAME\" \"\$BES_VERSION\" \"\$BES_AUTHOR\" \"\$BES_LICENSE\"
echo
if [ \"\$1\" = \"install\" ] || [ \"\$1\" = \"-i\" ]; then
bes.install \"\$BES_NAME\" \"\$BES_URL\" \"\$2\"
elif [ \"\$1\" = \"help\" ] || [ \"\$1\" = \"-h\" ]; then
$prj.usage
else
$prj.main
fi
echo
fi
}
bes.main \$*
" > "$APP_DIR/$prj/src/main.sh"
echo.state $?
echo.action "Adding default template" "usage" "*" "Cusa"
echo "#!/bin/bash
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function $prj.usage ()
{
echo -e \" \${Cusa}Usage :\${Coff}\n
\${Ccom}\tInstall or update \$BES_NAME on specified BINDIR directory or in /usr/local/bin directory
\${Cspe}\t\$BES_NAME \${Copt}-i\${Ctext}, \${Copt}install \${Copt}[ \${Ctext}BINDIR\${Copt} ]
\${Ccom}\tDisplay program version
\${Cspe}\t\$BES_NAME \${Copt}-v\${Ctext}, \${Copt}version
\${Ccom}\tDisplay this help
\${Cspe}\t\$BES_NAME \${Copt}-h\${Ctext}, \${Copt}help\"
echo -e \"${Coff}\"
}
" > "$APP_DIR/$prj/src/usage.sh"
echo.state $?
echo.rs $?
echo
fi
}
function bes.build.require () {
local dep=${1}
echo.msg "coming soon"
echo.rs 1
}
BES_LIB="color echo install ini service secure dep1 dep2"
BES_LIB="color echo install ini dep1 dep2"
BES_LOADED_LIB=
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function bes.inlist ()
@ -928,7 +833,7 @@ function bes.loadDep ()
cd "$APP_DIR/vendor/$vendor"
echo.action "updating repository $Cusa$vendor.$project ${Coff}:$Cusa $version"
if [ ! -d "$project" ]; then
git clone -q "https://gitea.meta-tech.academy/meta-tech/$vendor-$project" "$project" 2>&1 >/dev/null
git clone -q "https://git.pluie.org/meta-tech/$vendor-$project" "$project" 2>&1 >/dev/null
#~ echo.state $?
cd $project
else
@ -1013,20 +918,16 @@ function bes.update ()
function bes.usage ()
{
echo -e " ${Cusa}Usage :${Coff}\n
${Ccom}\tCreate new bes project
${Cspe}\t$BES_NAME ${Copt}-n${Ctext}, ${Copt}new ${Copt}[ ${Ctext}PROJECT_NAME${Copt} ]
${Ccom}\tUpdate current project dependencies
${Cspe}\t$BES_NAME ${Copt}-u${Ctext}, ${Copt}update
${Ccom}\tBuild current project (overwrite existing build)
${Cspe}\t$BES_NAME ${Copt}
${Cspe}\t$APP_NAME ${Copt}
${Ccom}\tBuild current project and backup existing build
${Cspe}\t$BES_NAME ${Copt}-b${Ctext}, ${Copt}backup
${Cspe}\t$APP_NAME ${Copt}-b${Ctext}, ${Copt}backup
${Ccom}\tInstall or update $APP_NAME on specified BINDIR directory or in /usr/local/bin directory
${Cspe}\t$BES_NAME ${Copt}-i${Ctext}, ${Copt}install ${Copt}[ ${Ctext}BINDIR${Copt} ]
${Cspe}\t$APP_NAME ${Copt}-i${Ctext}, ${Copt}install ${Copt}[ ${Ctext}BINDIR${Copt} ]
${Ccom}\tDisplay program version
${Cspe}\t$BES_NAME ${Copt}-v${Ctext}, ${Copt}version
${Cspe}\t$APP_NAME ${Copt}-v${Ctext}, ${Copt}version
${Ccom}\tDisplay this help
${Cspe}\t$BES_NAME ${Copt}-h${Ctext}, ${Copt}help"
${Cspe}\t$APP_NAME ${Copt}-h${Ctext}, ${Copt}help"
echo -e "${Coff}"
}
@ -1034,17 +935,17 @@ function bes.usage ()
bes.boot
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# @author a-Sansara - https://gitea.meta-tech.academy/meta-tech/bes-build
# @author a-Sansara - https://git.pluie.org/meta-tech/bes-build
# @app bes-build
# @license GNU GPL v3
# @date 2017-06-16 04:38:52 CET
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BES_VERSION=0.13
BES_VERSION=0.10
BES_NAME="bes-build"
BES_URL="https://gitea.meta-tech.academy/meta-tech/$BES_NAME/raw/latest/dist/$BES_NAME"
BES_URL="https://git.pluie.org/meta-tech/$BES_NAME/raw/latest/dist/$BES_NAME"
APP_DIR=$(pwd)
APP_NAME=$(basename $(pwd))
APP_NAME=$(basename $(pwd))
APP_BIN=$APP_DIR/dist/$APP_NAME
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -1055,31 +956,15 @@ function bes.main ()
else
echo.app "$BES_NAME" "$BES_VERSION"
echo
enusage=0
if [ "$1" = "install" ] || [ "$1" = "-i" ]; then
bes.install "$BES_NAME" "$BES_URL" "$2" "bes.build.install"
elif [ "$1" = "help" ] || [ "$1" = "-h" ]; then
enusage=1
bes.usage
elif [ "$1" = "update" ] || [ "$1" = "-u" ]; then
bes.update
elif [ "$1" = "new" ] || [ "$1" = "-n" ]; then
if [ ! -z "$2" ]; then
bes.build.new $2
else
enusage=1
fi
elif [ "$1" = "require" ] || [ "$1" = "-r" ]; then
if [ ! -z "$2" ]; then
bes.build.require $2
else
enusage=1
fi
elif [ -z "$1" ] || [ "$1" = "backup" ] || [ "$1" = "-b" ]; then
bes.build "$1"
fi
if [ "$enusage" = "1" ]; then
bes.usage
fi
echo
fi
}

View File

@ -4,11 +4,11 @@
function bes.build ()
{
echo.title "building project" "$APP_NAME"
if [ -d "$APP_DIR/src" ]; then
if [ -d "$APP_DIR/src" ]; then
if [ ! -d "$APP_DIR/dist" ]; then
echo.action "creating dist directory"
mkdir $APP_DIR/dist
echo.state $?
cho.state $?
fi
if [ -f "$APP_BIN" ]; then
if [ "$1" = "backup" ] || [ "$1" = "-b" ]; then
@ -24,9 +24,9 @@ function bes.build ()
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BES_BOOT=
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function bes.exists () {
function bes.exists () {
declare -f \$1 > /dev/null
#~ [ x\$(type -t \$1) = xfunction ];
#~ [ x\$(type -t \$1) = xfunction ];
}
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function bes.boot ()
@ -70,7 +70,7 @@ function bes.reg ()
echo.msg " no dependencies, did you forget to run bes-build update ?"
fi
echo.state 0
echo.action "reading ${Coff}src/"
for entry in "$APP_DIR/src"/*.sh; do
if [ "$(basename $entry)" != "main.sh" ]; then
@ -129,7 +129,7 @@ sep = 80 80 80
err = 194 48 64
val = 255 175 95
key = 40 168 134
action = 106 183 241
action = 106 183 241
symbol = 255 175 95
item = 92 147 181
usa = 255 172 0

View File

@ -1,17 +1,17 @@
#!/bin/bash
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# @author a-Sansara - https://gitea.meta-tech.academy/meta-tech/bes-build
# @author a-Sansara - https://git.pluie.org/meta-tech/bes-build
# @app bes-build
# @license GNU GPL v3
# @date 2017-06-16 04:38:52 CET
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BES_VERSION=0.13
BES_VERSION=0.10
BES_NAME="bes-build"
BES_URL="https://gitea.meta-tech.academy/meta-tech/$BES_NAME/raw/latest/dist/$BES_NAME"
BES_URL="https://git.pluie.org/meta-tech/$BES_NAME/raw/latest/dist/$BES_NAME"
APP_DIR=$(pwd)
APP_NAME=$(basename $(pwd))
APP_NAME=$(basename $(pwd))
APP_BIN=$APP_DIR/dist/$APP_NAME
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -22,31 +22,15 @@ function bes.main ()
else
echo.app "$BES_NAME" "$BES_VERSION"
echo
enusage=0
if [ "$1" = "install" ] || [ "$1" = "-i" ]; then
bes.install "$BES_NAME" "$BES_URL" "$2" "bes.build.install"
elif [ "$1" = "help" ] || [ "$1" = "-h" ]; then
enusage=1
bes.usage
elif [ "$1" = "update" ] || [ "$1" = "-u" ]; then
bes.update
elif [ "$1" = "new" ] || [ "$1" = "-n" ]; then
if [ ! -z "$2" ]; then
bes.build.new $2
else
enusage=1
fi
elif [ "$1" = "require" ] || [ "$1" = "-r" ]; then
if [ ! -z "$2" ]; then
bes.build.require $2
else
enusage=1
fi
elif [ -z "$1" ] || [ "$1" = "backup" ] || [ "$1" = "-b" ]; then
bes.build "$1"
fi
if [ "$enusage" = "1" ]; then
bes.usage
fi
echo
fi
}

View File

@ -1,90 +0,0 @@
#!/bin/bash
function bes.build.new () {
local prj=${1}
echo.title "creating new project" "$prj"
if [ -d "$APP_DIR/$prj" ]; then
echo.error "directory $prj already exists" 1
else
echo.action "creating directory" "$prj" "*" "Cusa"
mkdir "$APP_DIR/$prj"
echo.state $?
echo.action "creating project config file" "bes.ini" "*" "Cusa"
echo -e "[project]
vendor =
name = $prj
version = 0.1
license = \"GNU GPL v3\"
author =
type = application
homepage =
description = \"bash bes $prj application\"
keywords = \"bash $prj\"
[require]
bes.install = 1.4
" > "$APP_DIR/$prj/bes.ini"
echo.state $?
echo.action "Creating directory" "src" "*" "Cusa"
mkdir $APP_DIR/$prj/src
echo.state $?
echo.action "Adding default templates" "main" "*" "Cusa"
echo "#!/bin/bash
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BES_VERSION=0.1
BES_AUTHOR=me
BES_LICENSE=MIT
BES_NAME=\"$prj\"
BES_URL=\"https://your.forge.git/vendor/\$BES_NAME/raw/latest/dist/\$BES_NAME\"
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function $prj.main ()
{
echo.msg \"hello bes\" \"\$Citem\"
echo.rs \$?
echo
}
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function bes.main ()
{
if [ \"\$1\" = \"version\" ] || [ \"\$1\" = \"-v\" ]; then
echo \$BES_VERSION
else
echo.app \"\$BES_NAME\" \"\$BES_VERSION\" \"\$BES_AUTHOR\" \"\$BES_LICENSE\"
echo
if [ \"\$1\" = \"install\" ] || [ \"\$1\" = \"-i\" ]; then
bes.install \"\$BES_NAME\" \"\$BES_URL\" \"\$2\"
elif [ \"\$1\" = \"help\" ] || [ \"\$1\" = \"-h\" ]; then
$prj.usage
else
$prj.main
fi
echo
fi
}
bes.main \$*
" > "$APP_DIR/$prj/src/main.sh"
echo.state $?
echo.action "Adding default template" "usage" "*" "Cusa"
echo "#!/bin/bash
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function $prj.usage ()
{
echo -e \" \${Cusa}Usage :\${Coff}\n
\${Ccom}\tInstall or update \$BES_NAME on specified BINDIR directory or in /usr/local/bin directory
\${Cspe}\t\$BES_NAME \${Copt}-i\${Ctext}, \${Copt}install \${Copt}[ \${Ctext}BINDIR\${Copt} ]
\${Ccom}\tDisplay program version
\${Cspe}\t\$BES_NAME \${Copt}-v\${Ctext}, \${Copt}version
\${Ccom}\tDisplay this help
\${Cspe}\t\$BES_NAME \${Copt}-h\${Ctext}, \${Copt}help\"
echo -e \"${Coff}\"
}
" > "$APP_DIR/$prj/src/usage.sh"
echo.state $?
echo.rs $?
echo
fi
}

View File

@ -1,7 +0,0 @@
#!/bin/bash
function bes.build.require () {
local dep=${1}
echo.msg "coming soon"
echo.rs 1
}

View File

@ -1,6 +1,6 @@
#!/bin/bash
BES_LIB="color echo install ini service secure dep1 dep2"
BES_LIB="color echo install ini dep1 dep2"
BES_LOADED_LIB=
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function bes.inlist ()
@ -90,7 +90,7 @@ function bes.loadDep ()
cd "$APP_DIR/vendor/$vendor"
echo.action "updating repository $Cusa$vendor.$project ${Coff}:$Cusa $version"
if [ ! -d "$project" ]; then
git clone -q "https://gitea.meta-tech.academy/meta-tech/$vendor-$project" "$project" 2>&1 >/dev/null
git clone -q "https://git.pluie.org/meta-tech/$vendor-$project" "$project" 2>&1 >/dev/null
#~ echo.state $?
cd $project
else

View File

@ -4,20 +4,16 @@
function bes.usage ()
{
echo -e " ${Cusa}Usage :${Coff}\n
${Ccom}\tCreate new bes project
${Cspe}\t$BES_NAME ${Copt}-n${Ctext}, ${Copt}new ${Copt}[ ${Ctext}PROJECT_NAME${Copt} ]
${Ccom}\tUpdate current project dependencies
${Cspe}\t$BES_NAME ${Copt}-u${Ctext}, ${Copt}update
${Ccom}\tBuild current project (overwrite existing build)
${Cspe}\t$BES_NAME ${Copt}
${Cspe}\t$APP_NAME ${Copt}
${Ccom}\tBuild current project and backup existing build
${Cspe}\t$BES_NAME ${Copt}-b${Ctext}, ${Copt}backup
${Cspe}\t$APP_NAME ${Copt}-b${Ctext}, ${Copt}backup
${Ccom}\tInstall or update $APP_NAME on specified BINDIR directory or in /usr/local/bin directory
${Cspe}\t$BES_NAME ${Copt}-i${Ctext}, ${Copt}install ${Copt}[ ${Ctext}BINDIR${Copt} ]
${Cspe}\t$APP_NAME ${Copt}-i${Ctext}, ${Copt}install ${Copt}[ ${Ctext}BINDIR${Copt} ]
${Ccom}\tDisplay program version
${Cspe}\t$BES_NAME ${Copt}-v${Ctext}, ${Copt}version
${Cspe}\t$APP_NAME ${Copt}-v${Ctext}, ${Copt}version
${Ccom}\tDisplay this help
${Cspe}\t$BES_NAME ${Copt}-h${Ctext}, ${Copt}help"
${Cspe}\t$APP_NAME ${Copt}-h${Ctext}, ${Copt}help"
echo -e "${Coff}"
}