45 lines
1.8 KiB
Bash
Executable File
45 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
REPO="$(cd "$(dirname "$0")" && pwd)/build"
|
|
APP="$HOME/Applications/Photon Uploader.app"
|
|
CONTENTS="$APP/Contents"
|
|
|
|
echo "==> Building PhotonUploader (menu bar binary)..."
|
|
swiftc -framework AppKit \
|
|
"$REPO/PhotonUploader/main.swift" \
|
|
-o "$REPO/PhotonUploader/upload"
|
|
|
|
echo "==> Building PhotonNotify (notification helper)..."
|
|
swiftc -framework Foundation -framework UserNotifications -framework AppKit \
|
|
"$REPO/PhotonNotify/main.swift" \
|
|
-o "$REPO/PhotonNotify/PhotonNotify"
|
|
|
|
echo "==> Assembling app bundle..."
|
|
mkdir -p "$CONTENTS/MacOS"
|
|
mkdir -p "$CONTENTS/Resources"
|
|
mkdir -p "$CONTENTS/Helpers/PhotonNotify.app/Contents/MacOS"
|
|
mkdir -p "$CONTENTS/Helpers/PhotonNotify.app/Contents/Resources"
|
|
|
|
cp "$REPO/PhotonUploader/upload" "$CONTENTS/MacOS/upload"
|
|
cp "$REPO/upload.sh" "$CONTENTS/MacOS/upload.sh"
|
|
cp "$REPO/Info.plist" "$CONTENTS/Info.plist"
|
|
|
|
cp "$REPO/PhotonNotify/PhotonNotify" "$CONTENTS/Helpers/PhotonNotify.app/Contents/MacOS/PhotonNotify"
|
|
cp "$REPO/PhotonNotify/Info.plist" "$CONTENTS/Helpers/PhotonNotify.app/Contents/Info.plist"
|
|
cp "$REPO/Resources/AppIcon.icns" "$CONTENTS/Helpers/PhotonNotify.app/Contents/Resources/AppIcon.icns"
|
|
|
|
cp "$REPO/Resources/AppIcon.icns" "$CONTENTS/Resources/AppIcon.icns"
|
|
cp "$REPO/Resources/MenuBarIcon.png" "$CONTENTS/Resources/MenuBarIcon.png"
|
|
cp "$REPO/Resources/MenuBarIcon@2x.png" "$CONTENTS/Resources/MenuBarIcon@2x.png"
|
|
|
|
chmod +x "$CONTENTS/MacOS/upload"
|
|
chmod +x "$CONTENTS/MacOS/upload.sh"
|
|
chmod +x "$CONTENTS/Helpers/PhotonNotify.app/Contents/MacOS/PhotonNotify"
|
|
|
|
echo "==> Signing..."
|
|
codesign --force --sign - "$CONTENTS/Helpers/PhotonNotify.app"
|
|
codesign --force --sign - "$APP"
|
|
|
|
echo "==> Done. App installed at: $APP"
|