Files
eiblog/scripts/new_app.sh
2021-04-26 15:51:16 +08:00

52 lines
930 B
Bash
Executable File

#!/usr/bin/env sh
set -e
# ensuer new app?
read -p "Are you sure new app? [y/n] " ensure
if [ "$ensure" != "y" ]; then
exit 0
fi
os="$(uname -s)"
old=$(echo "github.com/deepzz0/appdemo" | sed "s/\//\\\\\//g")
tmp="$(pwd)"
new=$(echo "${tmp/$GOPATH\/src\//}" | sed "s/\//\\\\\//g")
appname="${tmp##*/}"
_sed_i() {
option="$1"
file="$2"
if [ "$os" = "Darwin" ]; then
sed -i "" "$option" "$file"
else
sed -i "$option" "$file"
fi
}
printf 'Project [\33[1;32m%b\33[0m], initializing...\n' "$appname"
# rename appname
_sed_i "1s/demo/$appname/" "conf/app.yml"
echo "Clean conf/app.yml"
# rename module
_sed_i "1s/$old/$new/" "go.mod"
echo "Clean go.mod"
# rename package ref
find . -name "*.go" | while read fname; do
_sed_i "s/$old/$new/g" "$fname"
done
echo "Clean *.go"
# clean git
rm -rf .git
echo "Clean git repo"
# init empty repo
git init
printf '\33[1;32m%b\33[0m' "Successful initialization."