58 lines
854 B
Bash
Executable File
58 lines
854 B
Bash
Executable File
#!/bin/bash
|
|
|
|
PROJECTNAME=dip
|
|
RELEASENAME=${PROJECTNAME}
|
|
VERSION="0"
|
|
|
|
GOOPTIONS="-mod=vendor"
|
|
SRCFILES=cmd/${PROJECTNAME}/*.go
|
|
|
|
build() {
|
|
if [[ ! -z $DRONE_TAG ]]
|
|
then
|
|
VERSION=$DRONE_TAG
|
|
elif [[ ! -z $DRONE_TAG ]]
|
|
then
|
|
VERSION=$DRONE_COMMIT
|
|
fi
|
|
|
|
if [[ ! -z $VERSION && ! -z $GOOS && ! -z $GOARCH ]]
|
|
then
|
|
RELEASENAME=${PROJECTNAME}-${VERSION}-${GOOS}-${GOARCH}
|
|
fi
|
|
|
|
echo "Running packr2"
|
|
if [[ -f ./packr2 ]]
|
|
then
|
|
./packr2
|
|
else
|
|
echo "packr2 binary not found"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Building project"
|
|
go build -o ${PROJECTNAME} ${GOOPTIONS} ${SRCFILES}
|
|
|
|
if [[ ! -z $DRONE_TAG ]]
|
|
then
|
|
tar -czvf ${RELEASENAME}.tar.gz ${PROJECTNAME}
|
|
fi
|
|
|
|
echo "Removing binary file"
|
|
rm ${PROJECTNAME}
|
|
}
|
|
|
|
clean() {
|
|
rm -rf $RELEASEDIR
|
|
}
|
|
|
|
case $1 in
|
|
"build")
|
|
build
|
|
;;
|
|
"clean")
|
|
clean
|
|
;;
|
|
*)
|
|
;;
|
|
esac |