Added a correct method to create a guile project.

This commit is contained in:
NerdRat 2022-10-19 18:31:11 -05:00
parent abe45fb816
commit 4c3d3279de
Signed by: NerdRat
GPG Key ID: 2FF292A70A383B0B
1 changed files with 30 additions and 1 deletions

View File

@ -10,10 +10,22 @@
set -e
fail() {
echo "$1" && return $BAD_PARAMS_ERROR
}
PROJECT_NAME=skel
GUILE_SKEL_URL=https://gitlab.com/OrangeShark/guile-skeleton/-/archive/master/guile-skeleton-master.tar.gz
BAD_PARAMS_ERR=91
DEP_NOT_FOUND_ERR=2
ALREADY_EXISTS_ERR=1
# Does a dependency exist?
dep_exists() {
test $# -eq 0 && return $BAD_PARAMS_ERR
test $(command -v "$1") && echo "$?"
}
# Create a file with optional content
create_file() {
test $# -eq 0 && return $BAD_PARAMS_ERR
@ -187,4 +199,21 @@ generate_guile_project() {
create_scm_template_source_hello
}
generate_guile_project
create_guile_project() {
local replace_pattern="s/skeleton/$PROJECT_NAME/g"
test "$(dep_exists wget)" -eq "0" && mkdir -p $PROJECT_NAME && wget -O - $GUILE_SKEL_URL | tar -xzv --strip-components=1 -C $PROJECT_NAME
cd $PROJECT_NAME
mv skeleton "$PROJECT_NAME"
mv skeleton.scm "$PROJECT_NAME.scm"
sed -i $replace_pattern *.*
cd $PROJECT_NAME
sed -i $replace_pattern *
}
if test $# -gt 0; then
PROJECT_NAME="$1"
create_guile_project
else
fail "Wrong number of arguments."
fi