Updates to scanner
This commit is contained in:
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/bin/zsh
|
||||
set -euo pipefail
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
CONFIG="${CONFIGURATION:-Debug}"
|
||||
DERIVED="${DERIVED_DATA_PATH:-$ROOT/.build}"
|
||||
command -v xcodebuild >/dev/null || { echo "Xcode command line tools required" >&2; exit 1; }
|
||||
xcodebuild -project "$ROOT/PHPGuard.xcodeproj" -scheme PHPGuard -configuration "$CONFIG" -derivedDataPath "$DERIVED" CODE_SIGNING_ALLOWED=NO build
|
||||
APP="$DERIVED/Build/Products/$CONFIG/PHPGuard.app"
|
||||
[[ -d "$APP" ]] || { echo "Built application not found: $APP" >&2; exit 1; }
|
||||
echo "Built: $APP"
|
||||
if [[ "${LAUNCH_AFTER_BUILD:-1}" == "1" ]]; then open "$APP"; fi
|
||||
Executable
+31
@@ -0,0 +1,31 @@
|
||||
#!/bin/zsh
|
||||
set -euo pipefail
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
cd "$ROOT"
|
||||
command -v xcodebuild >/dev/null || { echo "Xcode is required" >&2; exit 1; }
|
||||
command -v hdiutil >/dev/null || { echo "hdiutil missing" >&2; exit 1; }
|
||||
IDENTITY="${SIGNING_IDENTITY:-$(security find-identity -v -p codesigning | sed -nE 's/.*"(Developer ID Application: [^"]+)".*/\1/p' | head -1)}"
|
||||
[[ -n "$IDENTITY" ]] || { echo "Developer ID Application signing identity required. Set SIGNING_IDENTITY." >&2; exit 1; }
|
||||
PROFILE="${NOTARY_PROFILE:-}"
|
||||
[[ -n "$PROFILE" ]] || { echo "Set NOTARY_PROFILE to an existing notarytool keychain profile." >&2; exit 1; }
|
||||
VERSION="$(/usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' "$ROOT/.build/Build/Products/Release/PHPGuard.app/Contents/Info.plist" 2>/dev/null || true)"
|
||||
DERIVED="$ROOT/.build"
|
||||
xcodebuild -project "$ROOT/PHPGuard.xcodeproj" -scheme PHPGuard -configuration Release -derivedDataPath "$DERIVED" CODE_SIGNING_ALLOWED=NO build
|
||||
APP="$DERIVED/Build/Products/Release/PHPGuard.app"
|
||||
[[ -d "$APP" ]] || { echo "Missing Release app" >&2; exit 1; }
|
||||
VERSION="$(/usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' "$APP/Contents/Info.plist")"
|
||||
mkdir -p "$ROOT/dist"
|
||||
STAGING="$(mktemp -d)"
|
||||
trap 'rm -rf "$STAGING"' EXIT
|
||||
cp -R "$APP" "$STAGING/PHPGuard.app"
|
||||
# No --deep signing: sign embedded executables individually if added in future.
|
||||
codesign --force --options runtime --timestamp --sign "$IDENTITY" "$STAGING/PHPGuard.app"
|
||||
codesign --verify --strict --verbose=2 "$STAGING/PHPGuard.app"
|
||||
DMG="$ROOT/dist/PHPGuard-$VERSION.dmg"
|
||||
rm -f "$DMG"
|
||||
ln -s /Applications "$STAGING/Applications"
|
||||
hdiutil create -volname "PHPGuard $VERSION" -srcfolder "$STAGING" -ov -format UDZO "$DMG"
|
||||
xcrun notarytool submit "$DMG" --keychain-profile "$PROFILE" --wait
|
||||
xcrun stapler staple "$DMG"
|
||||
xcrun stapler validate "$DMG"
|
||||
echo "Release ready: $DMG"
|
||||
Reference in New Issue
Block a user