From 2fc25ab1322cbf56d37a71f61e91e95f22bdeb40 Mon Sep 17 00:00:00 2001 From: Jannis Mattheis Date: Tue, 20 Feb 2018 17:45:59 +0100 Subject: [PATCH] Add build script --- .gitignore | 4 +++- build.sh | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 build.sh diff --git a/.gitignore b/.gitignore index 9f33dd5..3e47182 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ vendor/ -.idea/ \ No newline at end of file +.idea/ +build/ +certs/ \ No newline at end of file diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..0dff0ab --- /dev/null +++ b/build.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +if [ $# -eq 0 ]; then + echo You need to pass the version as first parameter. + exit 1 +fi + +VERSION=$1 +DATE=`date "+%F-%T"` +COMMIT=`git rev-parse --verify HEAD` +BRANCH=`git rev-parse --abbrev-ref HEAD` +URL=github.com/gotify/server +PREFIX=gotify-$VERSION +DEST=./build +TARGETS=linux/arm64,linux/amd64,linux/arm-7,windows-10/amd64 +LICENSES=./licenses/ + +xgo -ldflags "-X main.Version=$VERSION -X main.BuildDate=$DATE -X main.Commit=$COMMIT -X main.Branch=$BRANCH" -targets $TARGETS -dest $DEST -out $PREFIX $URL + +mkdir $LICENSES +for LICENSE in $(/bin/find vendor/ -name LICENSE | grep -v monkey); do + DIR=$(echo $LICENSE | tr "/" _ | sed -e 's/vendor_//; s/_LICENSE//') + mkdir $LICENSES$DIR + cp $LICENSE $LICENSES$DIR +done + +for BIN in build/*; do + zip -j $BIN.zip $BIN LICENSE + zip -ur $BIN.zip $LICENSES +done + +rm -rf $LICENSES