mirror of
https://github.com/dnote/dnote
synced 2026-03-15 06:55:49 +01:00
66 lines
1.2 KiB
Bash
Executable file
66 lines
1.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -eux
|
|
|
|
dir=$(dirname "${BASH_SOURCE[0]}")
|
|
|
|
version=$1
|
|
projectDir="$dir/../.."
|
|
basedir="$projectDir/pkg/server"
|
|
outputDir="$projectDir/build/server"
|
|
|
|
command_exists () {
|
|
command -v "$1" >/dev/null 2>&1;
|
|
}
|
|
|
|
if ! command_exists shasum; then
|
|
echo "please install shasum"
|
|
exit 1
|
|
fi
|
|
if [ $# -eq 0 ]; then
|
|
echo "no version specified."
|
|
exit 1
|
|
fi
|
|
if [[ $1 == v* ]]; then
|
|
echo "do not prefix version with v"
|
|
exit 1
|
|
fi
|
|
|
|
build() {
|
|
platform=$1
|
|
arch=$2
|
|
|
|
pushd "$basedir"
|
|
|
|
destDir="$outputDir/$platform-$arch"
|
|
mkdir -p "$destDir"
|
|
|
|
# build binary
|
|
packr2
|
|
|
|
GOOS="$platform" \
|
|
GOARCH="$arch" go build \
|
|
-o "$destDir/dnote-server" \
|
|
-ldflags "-X main.versionTag=$version" \
|
|
"$basedir"/*.go
|
|
|
|
packr2 clean
|
|
|
|
popd
|
|
|
|
# build tarball
|
|
tarballName="dnote_server_${version}_${platform}_${arch}.tar.gz"
|
|
tarballPath="$outputDir/$tarballName"
|
|
|
|
cp "$projectDir/licenses/AGPLv3.txt" "$destDir"
|
|
cp "$basedir/README.md" "$destDir"
|
|
tar -C "$destDir" -zcvf "$tarballPath" "."
|
|
rm -rf "$destDir"
|
|
|
|
# calculate checksum
|
|
pushd "$outputDir"
|
|
shasum -a 256 "$tarballName" >> "$outputDir/dnote_${version}_checksums.txt"
|
|
popd
|
|
|
|
}
|
|
|
|
build linux amd64
|