build-all.sh
Rama master · réplica de lectura del repositorio original.
#!/bin/bash
echo "Building Wiki-Go for multiple platforms..."
# Use vendored dependencies
export GOFLAGS=-mod=vendor
BUILD_DIR="build"
mkdir -p "$BUILD_DIR"
find "$BUILD_DIR" -mindepth 1 ! -name ".gitkeep" ! -path "$BUILD_DIR/data" ! -path "$BUILD_DIR/data/*" -delete
# Get version from git tag, fallback to "dev" if not available
VERSION=$(git describe --tags --always 2>/dev/null || echo "dev")
echo "Building version: $VERSION"
# Set ldflags for version
LDFLAGS="-X 'wiki-go/internal/version.Version=$VERSION'"
echo "Building for Linux (amd64)..."
GOOS=linux GOARCH=amd64 go build -ldflags "$LDFLAGS" -o $BUILD_DIR/wiki-go-linux-amd64 .
echo "Building for Linux (386)..."
GOOS=linux GOARCH=386 go build -ldflags "$LDFLAGS" -o $BUILD_DIR/wiki-go-linux-386 .
echo "Building for Linux (arm64)..."
GOOS=linux GOARCH=arm64 go build -ldflags "$LDFLAGS" -o $BUILD_DIR/wiki-go-linux-arm64 .
echo "Building for Linux ARMv5..."
GOOS=linux GOARCH=arm GOARM=5 go build -ldflags "$LDFLAGS" -o $BUILD_DIR/wiki-go-linux-armv5 .
echo "Building for Linux ARMv6..."
GOOS=linux GOARCH=arm GOARM=6 go build -ldflags "$LDFLAGS" -o $BUILD_DIR/wiki-go-linux-armv6 .
echo "Building for Linux ARMv7..."
GOOS=linux GOARCH=arm GOARM=7 go build -ldflags "$LDFLAGS" -o $BUILD_DIR/wiki-go-linux-armv7 .
echo "Building for Linux (s390x)..."
GOOS=linux GOARCH=s390x go build -ldflags "$LDFLAGS" -o $BUILD_DIR/wiki-go-linux-s390x .
echo "Building for Windows (amd64)..."
GOOS=windows GOARCH=amd64 go build -ldflags "$LDFLAGS" -o $BUILD_DIR/wiki-go-windows-amd64.exe .
echo "Building for Windows (arm64)..."
GOOS=windows GOARCH=arm64 go build -ldflags "$LDFLAGS" -o $BUILD_DIR/wiki-go-windows-arm64.exe .
echo "Building for macOS (amd64)..."
GOOS=darwin GOARCH=amd64 go build -ldflags "$LDFLAGS" -o $BUILD_DIR/wiki-go-mac-amd64 .
echo "Build complete! Packages are available in the '$BUILD_DIR' directory."