| | |
| | | RESOURCES_DIR="$APP_BUNDLE/Contents/Resources" |
| | | SWIFT_DIR="$PROJECT_DIR/Apptag" |
| | | INFO_PLIST="$SWIFT_DIR/Info.plist" |
| | | MODULE_CACHE_DIR="${MODULE_CACHE_DIR:-$BUILD_DIR/ModuleCache}" |
| | | |
| | | SDK_PATH=$(xcrun --sdk macosx --show-sdk-path) |
| | | TARGET="arm64-apple-macosx15.0" |
| | | MACOS_DEPLOYMENT_TARGET="${MACOS_DEPLOYMENT_TARGET:-14.0}" |
| | | TARGET_ARCH="${TARGET_ARCH:-arm64}" |
| | | TARGET="${TARGET_ARCH}-apple-macosx${MACOS_DEPLOYMENT_TARGET}" |
| | | |
| | | APP_VERSION=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "$INFO_PLIST") |
| | | APP_BUILD="${APP_BUILD:-$(date '+%Y%m%d.%H%M')}" |
| | |
| | | echo "==> Creating bundle structure..." |
| | | mkdir -p "$MACOS_DIR" |
| | | mkdir -p "$RESOURCES_DIR" |
| | | mkdir -p "$MODULE_CACHE_DIR" |
| | | |
| | | echo "==> Compiling Swift files..." |
| | | SWIFT_FILES=() |
| | |
| | | -lcompression \ |
| | | -sdk "$SDK_PATH" \ |
| | | -target "$TARGET" \ |
| | | -module-cache-path "$MODULE_CACHE_DIR" \ |
| | | -Osize \ |
| | | "${SWIFT_FILES[@]}" |
| | | |
| | |
| | | |
| | | echo "==> Copying AppIcon.icns..." |
| | | APPICON_SOURCE_DIR="$SWIFT_DIR/Assets.xcassets/AppIcon.appiconset" |
| | | if [ -d "$APPICON_SOURCE_DIR" ]; then |
| | | PREBUILT_APPICON="$PROJECT_DIR/icon-icns.icns" |
| | | if [ -f "$PREBUILT_APPICON" ]; then |
| | | cp "$PREBUILT_APPICON" "$RESOURCES_DIR/AppIcon.icns" |
| | | elif [ -d "$APPICON_SOURCE_DIR" ]; then |
| | | TMP_ICONSET_PARENT="$(mktemp -d -t taglauncher-appicon.XXXXXX)" |
| | | TMP_ICONSET="$TMP_ICONSET_PARENT/AppIcon.iconset" |
| | | mkdir -p "$TMP_ICONSET" |
| | |
| | | done |
| | | iconutil -c icns "$TMP_ICONSET" -o "$RESOURCES_DIR/AppIcon.icns" |
| | | rm -rf "$TMP_ICONSET_PARENT" |
| | | elif [ -f "$PROJECT_DIR/icon-icns.icns" ]; then |
| | | cp "$PROJECT_DIR/icon-icns.icns" "$RESOURCES_DIR/AppIcon.icns" |
| | | elif [ -f "$SWIFT_DIR/AppIcon.iconset/icon_512x512@2x.png" ]; then |
| | | iconutil -c icns "$SWIFT_DIR/AppIcon.iconset" -o "$RESOURCES_DIR/AppIcon.icns" 2>/dev/null |
| | | else |