bes-build/src/new.sh
2021-03-02 01:39:55 +01:00

91 lines
2.6 KiB
Bash

#!/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
}