mirror of
https://github.com/cline/cline.git
synced 2026-09-21 13:21:23 +08:00
67 lines
1.9 KiB
Bash
Executable File
67 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
set -eu
|
|
|
|
npm run protos
|
|
npm run protos-go
|
|
|
|
mkdir -p dist-standalone/extension
|
|
cp package.json dist-standalone/extension
|
|
|
|
# Extract version information for ldflags
|
|
CORE_VERSION=$(node -p "require('./package.json').version")
|
|
CLI_VERSION=$(node -p "require('./cli/package.json').version")
|
|
COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
|
|
DATE=$(date -u '+%Y-%m-%dT%H:%M:%SZ')
|
|
BUILT_BY="${USER:-unknown}"
|
|
|
|
# Build ldflags to inject version info
|
|
LDFLAGS="-X 'github.com/cline/cli/pkg/cli/global.Version=${CORE_VERSION}' \
|
|
-X 'github.com/cline/cli/pkg/cli/global.CliVersion=${CLI_VERSION}' \
|
|
-X 'github.com/cline/cli/pkg/cli/global.Commit=${COMMIT}' \
|
|
-X 'github.com/cline/cli/pkg/cli/global.Date=${DATE}' \
|
|
-X 'github.com/cline/cli/pkg/cli/global.BuiltBy=${BUILT_BY}'"
|
|
|
|
cd cli
|
|
|
|
# Define target platforms for cross-compilation
|
|
PLATFORMS=(
|
|
"darwin/arm64"
|
|
"darwin/amd64"
|
|
"linux/amd64"
|
|
"linux/arm64"
|
|
)
|
|
|
|
# Build binaries for all platforms
|
|
for platform in "${PLATFORMS[@]}"; do
|
|
GOOS=${platform%/*}
|
|
GOARCH=${platform#*/}
|
|
|
|
echo "Building for $GOOS/$GOARCH..."
|
|
|
|
# Build cline binary
|
|
OUTPUT_NAME="bin/cline-${GOOS}-${GOARCH}"
|
|
if [ "$GOOS" = "windows" ]; then
|
|
OUTPUT_NAME="${OUTPUT_NAME}.exe"
|
|
fi
|
|
|
|
GO111MODULE=on GOOS=$GOOS GOARCH=$GOARCH go build -ldflags "$LDFLAGS" -o "$OUTPUT_NAME" ./cmd/cline
|
|
echo " ✓ $OUTPUT_NAME built"
|
|
|
|
# Build cline-host binary
|
|
OUTPUT_NAME="bin/cline-host-${GOOS}-${GOARCH}"
|
|
if [ "$GOOS" = "windows" ]; then
|
|
OUTPUT_NAME="${OUTPUT_NAME}.exe"
|
|
fi
|
|
|
|
GO111MODULE=on GOOS=$GOOS GOARCH=$GOARCH go build -ldflags "$LDFLAGS" -o "$OUTPUT_NAME" ./cmd/cline-host
|
|
echo " ✓ $OUTPUT_NAME built"
|
|
done
|
|
|
|
echo ""
|
|
echo "All platform binaries built successfully!"
|
|
|
|
# Copy binaries to dist-standalone/bin
|
|
cd ..
|
|
mkdir -p dist-standalone/bin
|
|
cp cli/bin/cline-* dist-standalone/bin/
|
|
echo 'Copied all platform binaries to dist-standalone/bin/' |