diff --git a/sequencer/build.sh b/sequencer/build.sh index f335e80ba4166372358564725d9aaf0d3bac3af5..90ab43a0b005651e74d89007766b912531933fbe 100755 --- a/sequencer/build.sh +++ b/sequencer/build.sh @@ -1,4 +1,94 @@ #!/bin/sh set -e cd "$(dirname "$0")" -swift build -c release + +CONFIG=release +APP=Sequencer.app +BIN=Sequencer + +swift build -c "$CONFIG" + +# (Re)build the .app bundle from scratch so stale files never linger. +rm -rf "$APP" +mkdir -p "$APP/Contents/MacOS" "$APP/Contents/Resources" + +cp ".build/$CONFIG/$BIN" "$APP/Contents/MacOS/$BIN" + +cat > "$APP/Contents/Info.plist" <<'PLIST' + + + + + CFBundleName + Sequencer + CFBundleDisplayName + Clover Sequencer + CFBundleExecutable + Sequencer + CFBundleIdentifier + com.clover.Sequencer + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSMinimumSystemVersion + 14.0 + NSHighResolutionCapable + + NSPrincipalClass + Sequencer.SeqApplication + CFBundleDocumentTypes + + + CFBundleTypeName + Sequencer Project + CFBundleTypeRole + Editor + LSHandlerRank + Owner + LSTypeIsPackage + + NSDocumentClass + Sequencer.ProjectDocument + LSItemContentTypes + + com.clover.sequencer.project + + CFBundleTypeExtensions + + sq + + + + UTExportedTypeDeclarations + + + UTTypeIdentifier + com.clover.sequencer.project + UTTypeDescription + Sequencer Project + UTTypeConformsTo + + com.apple.package + + UTTypeTagSpecification + + public.filename-extension + + sq + + + + + + +PLIST + +# Mark the bundle as an app package for Finder/Launch Services. +printf 'APPL????' > "$APP/Contents/PkgInfo" + +codesign --force --deep --sign "Sequencer Dev" "$APP" + +echo "Built $APP"