Make mac release rebuilds incremental and drop debug builds

This commit is contained in:
Ian Gulliver
2026-10-17 09:33:27 -07:00
parent 7b172b9e3a
commit ff0595ec04
24 changed files with 53 additions and 19 deletions
+11 -4
View File
@@ -11,14 +11,21 @@ let package = Package(
.package(url: "https://github.com/apple/swift-openapi-urlsession", from: "1.1.0"),
],
targets: [
.executableTarget(
name: "Byre",
.target(
name: "ByreAPI",
dependencies: [
.product(name: "SwiftTerm", package: "SwiftTerm"),
.product(name: "OpenAPIRuntime", package: "swift-openapi-runtime"),
.product(name: "OpenAPIURLSession", package: "swift-openapi-urlsession"),
],
plugins: [.plugin(name: "OpenAPIGenerator", package: "swift-openapi-generator")]
),
.executableTarget(
name: "Byre",
dependencies: [
"ByreAPI",
.product(name: "SwiftTerm", package: "SwiftTerm"),
.product(name: "OpenAPIRuntime", package: "swift-openapi-runtime"),
.product(name: "OpenAPIURLSession", package: "swift-openapi-urlsession"),
]
),
]
)
+1
View File
@@ -1,3 +1,4 @@
import ByreAPI
import Foundation
import HTTPTypes
import OpenAPIRuntime
+4
View File
@@ -1,6 +1,10 @@
import AppKit
import SwiftUI
#if DEBUG
#error("debug builds are unsupported: build with mac/bundle.sh")
#endif
typealias ViewState = State
@MainActor
+1
View File
@@ -1,3 +1,4 @@
import ByreAPI
import SwiftUI
typealias TaskChanges = Components.Schemas.TaskChanges
+1
View File
@@ -1,4 +1,5 @@
import AppKit
import ByreAPI
import SwiftUI
enum ChatKind: Equatable {
+1
View File
@@ -1,4 +1,5 @@
import AppKit
import ByreAPI
import OpenAPIRuntime
import SwiftUI
import UniformTypeIdentifiers
+1
View File
@@ -1,3 +1,4 @@
import ByreAPI
import SwiftUI
typealias DirListing = Components.Schemas.DirListing
+1
View File
@@ -1,4 +1,5 @@
import AppKit
import ByreAPI
import OpenAPIRuntime
import SwiftUI
+1
View File
@@ -1,3 +1,4 @@
import ByreAPI
import OpenAPIRuntime
import SwiftUI
+1
View File
@@ -1,3 +1,4 @@
import ByreAPI
import SwiftUI
typealias Participant = Components.Schemas.Participant
+1
View File
@@ -1,4 +1,5 @@
import AppKit
import ByreAPI
import SwiftUI
@MainActor
+1
View File
@@ -1,4 +1,5 @@
import AppKit
import ByreAPI
import SwiftUI
enum TabBadge {
+1
View File
@@ -1,3 +1,4 @@
import ByreAPI
import SwiftUI
typealias Todo = Components.Schemas.Todo
+1
View File
@@ -1,3 +1,4 @@
import ByreAPI
import SwiftUI
typealias FindingState = Components.Schemas.FindingState
+1
View File
@@ -1,3 +1,4 @@
import ByreAPI
import SwiftUI
import UserNotifications
+1
View File
@@ -1,3 +1,4 @@
import ByreAPI
import SwiftUI
typealias AgentProcess = Components.Schemas.AgentProcess
+1
View File
@@ -1,4 +1,5 @@
import AppKit
import ByreAPI
import SwiftUI
typealias WorkflowSummary = Components.Schemas.WorkflowSummary
+1
View File
@@ -1,3 +1,4 @@
import ByreAPI
import SwiftUI
typealias WorkflowRun = Components.Schemas.WorkflowRun
+1
View File
@@ -0,0 +1 @@
import OpenAPIRuntime
@@ -1,5 +1,5 @@
generate:
- types
- client
accessModifier: internal
accessModifier: public
namingStrategy: idiomatic
+14 -10
View File
@@ -4,20 +4,24 @@ mac=$(cd "$(dirname "$0")" && pwd)
root=$(dirname "$mac")
build=$mac/.build
app=$build/byre.app
svg=$root/web/favicon-tile.svg
icns=$build/byre.icns
swift build --package-path "$mac" --configuration release
bin=$(swift build --package-path "$mac" --configuration release --show-bin-path)
if [ ! "$icns" -nt "$svg" ]; then
iconset=$build/byre.iconset
rm -rf "$iconset"
mkdir -p "$iconset"
for size in 16 32 128 256 512; do
rsvg-convert --width $size --height $size --output "$iconset/icon_${size}x${size}.png" "$svg"
rsvg-convert --width $((size * 2)) --height $((size * 2)) --output "$iconset/icon_${size}x${size}@2x.png" "$svg"
done
iconutil --convert icns --output "$icns" "$iconset"
fi
rm -rf "$app"
mkdir -p "$app/Contents/MacOS" "$app/Contents/Resources/fonts"
cp "$bin/Byre" "$app/Contents/MacOS/Byre"
cp "$build/release/Byre" "$app/Contents/MacOS/Byre"
cp "$mac/Info.plist" "$app/Contents/Info.plist"
cp "$root"/web/fonts/*.woff2 "$app/Contents/Resources/fonts/"
iconset=$build/byre.iconset
rm -rf "$iconset"
mkdir -p "$iconset"
for size in 16 32 128 256 512; do
rsvg-convert --width $size --height $size --output "$iconset/icon_${size}x${size}.png" "$root/web/favicon-tile.svg"
rsvg-convert --width $((size * 2)) --height $((size * 2)) --output "$iconset/icon_${size}x${size}@2x.png" "$root/web/favicon-tile.svg"
done
iconutil --convert icns --output "$app/Contents/Resources/byre.icns" "$iconset"
cp "$icns" "$app/Contents/Resources/byre.icns"
codesign --force --sign - "$app"
echo "$app"