60 lines
1.6 KiB
Bash
60 lines
1.6 KiB
Bash
#!/bin/zsh
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
APP_DIR="$ROOT_DIR/dist/boss-agent.app"
|
|
CONTENTS_DIR="$APP_DIR/Contents"
|
|
MACOS_DIR="$CONTENTS_DIR/MacOS"
|
|
RESOURCES_DIR="$CONTENTS_DIR/Resources"
|
|
SOURCE_FILE="$ROOT_DIR/apps/boss-agent-mac/Sources/BossAgentApp.swift"
|
|
BINARY_PATH="$MACOS_DIR/boss-agent"
|
|
|
|
if ! command -v swiftc >/dev/null 2>&1; then
|
|
echo "swiftc not found. Install Xcode Command Line Tools first." >&2
|
|
exit 1
|
|
fi
|
|
|
|
rm -rf "$APP_DIR"
|
|
mkdir -p "$MACOS_DIR" "$RESOURCES_DIR"
|
|
|
|
swiftc "$SOURCE_FILE" \
|
|
-o "$BINARY_PATH" \
|
|
-framework Cocoa \
|
|
-framework WebKit
|
|
|
|
chmod +x "$BINARY_PATH"
|
|
|
|
cat > "$CONTENTS_DIR/Info.plist" <<'PLIST'
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>CFBundleDevelopmentRegion</key>
|
|
<string>zh_CN</string>
|
|
<key>CFBundleExecutable</key>
|
|
<string>boss-agent</string>
|
|
<key>CFBundleIdentifier</key>
|
|
<string>com.hyzq.boss.agent</string>
|
|
<key>CFBundleInfoDictionaryVersion</key>
|
|
<string>6.0</string>
|
|
<key>CFBundleName</key>
|
|
<string>boss-agent</string>
|
|
<key>CFBundleDisplayName</key>
|
|
<string>boss-agent</string>
|
|
<key>CFBundlePackageType</key>
|
|
<string>APPL</string>
|
|
<key>CFBundleShortVersionString</key>
|
|
<string>0.1.0</string>
|
|
<key>CFBundleVersion</key>
|
|
<string>1</string>
|
|
<key>LSMinimumSystemVersion</key>
|
|
<string>13.0</string>
|
|
<key>NSHighResolutionCapable</key>
|
|
<true/>
|
|
</dict>
|
|
</plist>
|
|
PLIST
|
|
|
|
plutil -lint "$CONTENTS_DIR/Info.plist" >/dev/null
|
|
echo "$APP_DIR"
|