1
0
forked from x/icebergs
icebergs/demo/build.sh
2019-12-16 01:38:35 +08:00

54 lines
1.0 KiB
Bash
Executable File

#! /bin/sh
export ice_err=${ice_err:="boot.log"}
export ice_serve=${ice_serve:="web.serve"}
prepare() {
[ -f main.go ] || cat >> main.go <<END
package main
import (
"github.com/shylinux/icebergs"
_ "github.com/shylinux/icebergs/core/chat"
)
func main() {
println(ice.Run())
}
END
[ -f go.mod ] || go mod init
[ -f Makefile ] || cat >> Makefile <<END
all:
sh build.sh build && sh build.sh restart
END
mkdir -p usr/template/wiki
[ -f usr/template/common.tmpl ] || cat >> usr/template/common.tmpl <<END
END
[ -f usr/template/wiki/common.tmpl ] || cat >> usr/template/wiki/common.tmpl <<END
END
}
build() {
prepare && go build -o bin/shy main.go
}
start() {
[ -d usr/volcanos ] || git clone https://github.com/shylinux/volcanos usr/volcanos
while true; do
date && bin/shy 2>$ice_err && log "\n\nrestarting..." && sleep 1 || break
done
}
log() { echo -e $*; }
restart() {
kill -2 `cat var/run/shy.pid`
}
help() {
echo "usage: $0 cmd arg"
}
cmd=$1 && shift
[ -z "$cmd" ] && cmd=start
$cmd $*