Skip to content

Commit c166d4b

Browse files
committed
chore(build): generate TGZ archive for UNIX-like system
- UNIX-like system: use TGZ archive format - Windows system: continue using ZIP format
1 parent ca889a1 commit c166d4b

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

build/build.inc.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
export CGO_ENABLED=0
2-
TMP='/tmp'
32
OUTDIR='../output'
43
MAINNAME='ghfs'
54
MOD=$(go list ../src/)
65
source ./build.inc.version.sh
7-
LICENSE='../LICENSE'
86
getLdFlags() {
97
echo "-s -w -X $MOD/version.appVer=$VERSION -X $MOD/version.appArch=${ARCH:-$(go env GOARCH)}"
108
}

build/build.sh

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,16 @@ for build in "$@"; do
2121
fi
2222
OS_SUFFIX="${arg[2]}"
2323

24-
BIN="$TMP/$MAINNAME$(go env GOEXE)"
25-
rm -f "$BIN"
24+
TMP=$(mktemp -d)
25+
2626
echo "Building: $GOOS$OS_SUFFIX $ARCH"
27-
go build -ldflags "$(getLdFlags)" -o "$BIN" ../main.go
27+
go build -ldflags "$(getLdFlags)" -o "$TMP/$MAINNAME$(go env GOEXE)" ../main.go
28+
cp ../LICENSE "$TMP"
2829

29-
OUT="$OUTDIR/$MAINNAME-$VERSION-$GOOS$OS_SUFFIX-$GOARCH$ARCH_OPT".zip
30-
zip -j "$OUT" "$BIN" "$LICENSE"
30+
OUTFILE="$OUTDIR/$MAINNAME-$VERSION-$GOOS$OS_SUFFIX-$GOARCH$ARCH_OPT"
31+
if [ "$GOOS" == "windows" ]; then
32+
zip -qrj "${OUTFILE}.zip" "$TMP/"
33+
else
34+
tar --owner=0 --group=0 -zcf "${OUTFILE}.tar.gz" -C "$TMP" $(ls -A1 "$TMP")
35+
fi
3136
done

0 commit comments

Comments
 (0)