mirror of
https://github.com/jimeh/ozu.io.git
synced 2026-02-19 08:06:39 +00:00
Add shitty packaging script
This commit is contained in:
4
Makefile
4
Makefile
@@ -62,3 +62,7 @@ web-generate:
|
||||
.PHONY: web-debug-bindata
|
||||
web-debug-bindata:
|
||||
cd web && go-bindata -debug -pkg web static/... templates/...
|
||||
|
||||
.PHONY: package
|
||||
package:
|
||||
./package.sh
|
||||
|
||||
72
package.sh
Executable file
72
package.sh
Executable file
@@ -0,0 +1,72 @@
|
||||
#! /usr/bin/env bash
|
||||
set -e
|
||||
shopt -s extglob
|
||||
|
||||
main() {
|
||||
local name="ozuio"
|
||||
local platforms=(
|
||||
darwin-386 darwin-amd64
|
||||
freebsd-386 freebsd-amd64 freebsd-arm
|
||||
linux-386 linux-amd64 linux-arm
|
||||
netbsd-386 netbsd-amd64 netbsd-arm
|
||||
openbsd-386 openbsd-amd64
|
||||
solaris-amd64
|
||||
windows-386 windows-amd64
|
||||
)
|
||||
local builddir="build"
|
||||
local outputdir="pkg"
|
||||
|
||||
local version
|
||||
version="$(get-version)"
|
||||
|
||||
local workdir="${builddir}/${version}"
|
||||
mkdir -p "$workdir"
|
||||
|
||||
for platform in "${platforms[@]}"; do
|
||||
if [[ "$platform" =~ ^(.+)-(.+)$ ]]; then
|
||||
local os="${BASH_REMATCH[1]}"
|
||||
local arch="${BASH_REMATCH[2]}"
|
||||
local pkg="${name}_${version}_${os}_${arch}"
|
||||
local pkgdir="${workdir}/${pkg}"
|
||||
local binary="${pkgdir}/${name}"
|
||||
|
||||
if [ "$os" == "windows" ]; then
|
||||
binary="${binary}.exe"
|
||||
fi
|
||||
|
||||
echo "building $pkg"
|
||||
GOOS="$os" GOARCH="$arch" go build -o "$binary" \
|
||||
-ldflags "-X main.Version=${version}"
|
||||
|
||||
cp "README.md" "${pkgdir}/"
|
||||
|
||||
mkdir -p "${outputdir}/${version}"
|
||||
|
||||
if [ "$os" == "windows" ]; then
|
||||
local archive="${outputdir}/${version}/${pkg}.zip"
|
||||
echo "creating ${archive}"
|
||||
local cwd="$(pwd)"
|
||||
cd "$workdir"
|
||||
zip -r "../../$archive" "$pkg"
|
||||
cd "$cwd"
|
||||
else
|
||||
local archive="${outputdir}/${version}/${pkg}.tar.gz"
|
||||
echo "creating ${archive}"
|
||||
tar -C "$workdir" -czf "$archive" "$pkg"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
get-version() {
|
||||
trim "$(cat "VERSION")"
|
||||
}
|
||||
|
||||
trim() {
|
||||
local string="$@"
|
||||
string="${string#"${string%%[![:space:]]*}"}"
|
||||
string="${string%"${string##*[![:space:]]}"}"
|
||||
echo -n "$string"
|
||||
}
|
||||
|
||||
main
|
||||
Reference in New Issue
Block a user