32 lines
1020 B
Bash
Executable File
32 lines
1020 B
Bash
Executable File
#!/bin/bash
|
|
# Build and ad-hoc sign a local macOS Tunnel.app.
|
|
# Distribution releases still need Developer ID signing + notarization.
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
|
|
VERSION="${1:-0.2.0}"
|
|
BUILD="${BUILD:-1}"
|
|
FYNE="$(command -v fyne || true)"
|
|
if [ -z "$FYNE" ]; then
|
|
FYNE="$(go env GOPATH)/bin/fyne"
|
|
fi
|
|
if [ ! -x "$FYNE" ]; then
|
|
echo "installing fyne CLI..."
|
|
go install fyne.io/tools/cmd/fyne@latest
|
|
FYNE="$(go env GOPATH)/bin/fyne"
|
|
fi
|
|
|
|
mkdir -p .local/desktop
|
|
go build -o .local/desktop/Tunnel -ldflags "-X main.version=$VERSION" ./cmd/tunnel-desktop
|
|
rm -rf Tunnel.app
|
|
"$FYNE" package -os darwin \
|
|
-executable .local/desktop/Tunnel \
|
|
-name Tunnel -app-id dev.tzgyn.tunnel \
|
|
-app-version "$VERSION" -app-build "$BUILD" \
|
|
-icon assets/icon.png -release
|
|
|
|
codesign --force --deep --sign - Tunnel.app
|
|
echo "Built and ad-hoc signed Tunnel.app (version $VERSION)."
|
|
echo "Install locally with:"
|
|
echo " rm -rf \"\$HOME/Applications/Tunnel.app\" && ditto Tunnel.app \"\$HOME/Applications/Tunnel.app\""
|