forked from retoor/devplacepy
Zo doen wijdat in oost
This commit is contained in:
Executable
+54
@@ -0,0 +1,54 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
here=$(cd "$(dirname "$0")" && pwd)
|
||||
out=${1:-./dist}
|
||||
version=${VERSION:-$(git -C "$here" describe --tags --always --dirty 2>/dev/null || echo dev)}
|
||||
targets="linux/amd64 linux/arm64 darwin/arm64 darwin/amd64 windows/amd64"
|
||||
|
||||
mkdir -p "$out"
|
||||
out=$(cd "$out" && pwd)
|
||||
manifest="$out/manifest.json"
|
||||
rm -f "$manifest"
|
||||
|
||||
hash_of() {
|
||||
if command -v sha256sum >/dev/null 2>&1; then
|
||||
sha256sum "$1" | cut -d' ' -f1
|
||||
else
|
||||
shasum -a 256 "$1" | cut -d' ' -f1
|
||||
fi
|
||||
}
|
||||
|
||||
size_of() {
|
||||
wc -c <"$1" | tr -d ' '
|
||||
}
|
||||
|
||||
printf '[\n' >"$manifest"
|
||||
first=1
|
||||
for target in $targets; do
|
||||
goos=${target%/*}
|
||||
goarch=${target#*/}
|
||||
name="devplace-node-$goos-$goarch"
|
||||
if [ "$goos" = "windows" ]; then
|
||||
name="$name.exe"
|
||||
fi
|
||||
(cd "$here" && CGO_ENABLED=0 GOOS="$goos" GOARCH="$goarch" go build -trimpath -ldflags "-s -w -X main.Version=$version" -o "$out/$name" .)
|
||||
if [ "$first" -eq 0 ]; then
|
||||
printf ',\n' >>"$manifest"
|
||||
fi
|
||||
first=0
|
||||
printf ' {"name": "%s", "os": "%s", "arch": "%s", "sha256": "%s", "size": %s, "version": "%s"}' \
|
||||
"$name" "$goos" "$goarch" "$(hash_of "$out/$name")" "$(size_of "$out/$name")" "$version" >>"$manifest"
|
||||
done
|
||||
printf '\n]\n' >>"$manifest"
|
||||
|
||||
for target in $targets; do
|
||||
goos=${target%/*}
|
||||
goarch=${target#*/}
|
||||
name="devplace-node-$goos-$goarch"
|
||||
if [ "$goos" = "windows" ]; then
|
||||
name="$name.exe"
|
||||
fi
|
||||
echo "$out/$name"
|
||||
done
|
||||
echo "$manifest"
|
||||
Reference in New Issue
Block a user