-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject.yml
More file actions
217 lines (206 loc) · 7.06 KB
/
Copy pathproject.yml
File metadata and controls
217 lines (206 loc) · 7.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
name: GrizzyBot
attributes:
LastUpgradeCheck: "2700"
LastSwiftUpdateCheck: "2700"
BuildIndependentTargetsInParallel: true
options:
bundleIdPrefix: com.grizzybot
deploymentTarget:
macOS: "15.0"
createIntermediateGroups: true
groupSortPosition: top
xcodeVersion: "27.0"
projectFormat: xcode16_3
packages:
Sentry:
url: https://github.com/getsentry/sentry-cocoa
from: 9.24.0
settings:
base:
SWIFT_VERSION: "6.0"
MACOSX_DEPLOYMENT_TARGET: "15.0"
CLANG_ENABLE_MODULES: YES
ENABLE_TESTABILITY: YES
MARKETING_VERSION: "1.1"
CURRENT_PROJECT_VERSION: "2"
# Match Xcode 27 recommended project settings (stops "Update to recommended settings").
ENABLE_USER_SCRIPT_SANDBOXING: YES
STRING_CATALOG_GENERATE_SYMBOLS: YES
LOCALIZATION_PREFERS_STRING_CATALOGS: YES
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED: YES
SWIFT_EMIT_LOC_STRINGS: YES
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS: YES
configs:
Release:
DEAD_CODE_STRIPPING: YES
targets:
GrizzyBotCore:
# Static so the app doesn't embed a separate framework. Ad-hoc + Hardened
# Runtime rejects differently-signed @rpath frameworks at launch (Team ID).
type: library.static
platform: macOS
sources:
- path: Sources/GrizzyBotCore
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.grizzybot.core
PRODUCT_NAME: GrizzyBotCore
GENERATE_INFOPLIST_FILE: YES
DEFINES_MODULE: YES
SKIP_INSTALL: YES
SWIFT_INSTALL_OBJC_HEADER: NO
SWIFT_STRICT_CONCURRENCY: complete
ENABLE_MODULE_VERIFIER: YES
MODULE_VERIFIER_SUPPORTED_LANGUAGES: "objective-c objective-c++"
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS: "gnu11 gnu++14"
CODE_SIGN_IDENTITY: "-"
CODE_SIGN_STYLE: Automatic
GrizzyBotRoutineAgent:
type: tool
platform: macOS
sources:
- path: Sources/GrizzyBotRoutineAgent
excludes:
- com.grizzybot.routine-agent.plist
dependencies:
- target: GrizzyBotCore
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.grizzybot.routine-agent
PRODUCT_NAME: GrizzyBotRoutineAgent
# Copied into GrizzyBot.app via Copy Files — must not install as a separate archive product.
SKIP_INSTALL: YES
SWIFT_STRICT_CONCURRENCY: complete
CODE_SIGN_IDENTITY: "-"
CODE_SIGN_STYLE: Automatic
GrizzyBot:
type: application
platform: macOS
sources:
- path: Sources/GrizzyBot
excludes:
- Info.plist
- Resources
- path: Sources/GrizzyBotRoutineAgent/com.grizzybot.routine-agent.plist
buildPhase:
copyFiles:
destination: wrapper
subpath: Contents/Library/LaunchAgents
dependencies:
- target: GrizzyBotCore
- target: GrizzyBotRoutineAgent
embed: true
link: false
copy:
destination: executables
- package: Sentry
product: Sentry
info:
path: Sources/GrizzyBot/Info.plist
properties:
NSAppTransportSecurity:
NSAllowsLocalNetworking: true
LSApplicationCategoryType: public.app-category.productivity
CFBundleShortVersionString: "1.1"
CFBundleVersion: "2"
NSHighResolutionCapable: true
NSPrincipalClass: NSApplication
NSMicrophoneUsageDescription: GrizzyBot uses the microphone so you can dictate messages to a bot.
NSSpeechRecognitionUsageDescription: GrizzyBot uses on-device speech recognition to turn dictation into chat text.
NSAppleEventsUsageDescription: GrizzyBot agents can open URLs and control this Mac when a bot’s computer mode is This Mac.
NSScreenCaptureUsageDescription: GrizzyBot captures the screen so a bot can see this Mac when computer mode is This Mac.
NSAccessibilityUsageDescription: GrizzyBot uses Accessibility so a bot can see and control this Mac when computer mode is This Mac.
NSLocalNetworkUsageDescription: GrizzyBot talks to local and LAN model servers (Ollama, LM Studio, vMLX, oMLX) on this network.
NSBonjourServices:
- "_http._tcp"
SentryDSN: "$(SENTRY_DSN)"
configFiles:
Debug: Configs/Debug.xcconfig
Release: Configs/Release.xcconfig
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.grizzybot.app
PRODUCT_NAME: GrizzyBot
EXECUTABLE_NAME: GrizzyBot
GENERATE_INFOPLIST_FILE: NO
INFOPLIST_FILE: Sources/GrizzyBot/Info.plist
COMBINE_HIDPI_IMAGES: YES
SWIFT_STRICT_CONCURRENCY: complete
LD_RUNPATH_SEARCH_PATHS:
- "$(inherited)"
- "@executable_path/../Frameworks"
CODE_SIGN_STYLE: Automatic
SKIP_INSTALL: NO
configs:
Debug:
ENABLE_HARDENED_RUNTIME: YES
CODE_SIGN_IDENTITY: "-"
CODE_SIGN_ENTITLEMENTS: Sources/GrizzyBot/GrizzyBot.entitlements
OTHER_CODE_SIGN_FLAGS: "--timestamp=none"
Release:
ENABLE_HARDENED_RUNTIME: "$(GRIZZYBOT_ENABLE_HARDENED_RUNTIME)"
CODE_SIGN_IDENTITY: "$(GRIZZYBOT_CODE_SIGN_IDENTITY)"
CODE_SIGN_ENTITLEMENTS: "$(GRIZZYBOT_CODE_SIGN_ENTITLEMENTS)"
OTHER_CODE_SIGN_FLAGS: "$(GRIZZYBOT_OTHER_CODE_SIGN_FLAGS)"
DEVELOPMENT_TEAM: "$(GRIZZYBOT_DEVELOPMENT_TEAM)"
CODE_SIGN_STYLE: "$(GRIZZYBOT_CODE_SIGN_STYLE)"
scheme:
archive:
revealArchiveInOrganizer: true
customArchiveName: GrizzyBot
testTargets:
- GrizzyBotCoreTests
- GrizzyBotAppTests
- GrizzyBotUITests
gatherCoverageData: false
GrizzyBotCoreTests:
type: bundle.unit-test
platform: macOS
sources:
- path: Tests/GrizzyBotCoreTests
dependencies:
- target: GrizzyBotCore
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.grizzybot.core.tests
GENERATE_INFOPLIST_FILE: YES
SWIFT_STRICT_CONCURRENCY: complete
CODE_SIGN_IDENTITY: "-"
CODE_SIGN_STYLE: Automatic
BUNDLE_LOADER: ""
TEST_HOST: ""
GrizzyBotAppTests:
type: bundle.unit-test
platform: macOS
sources:
- path: Tests/GrizzyBotAppTests
resources:
- path: Tests/GrizzyBotAppTests/Goldens
optional: true
dependencies:
- target: GrizzyBot
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.grizzybot.app.tests
GENERATE_INFOPLIST_FILE: YES
SWIFT_STRICT_CONCURRENCY: complete
CODE_SIGN_IDENTITY: "-"
CODE_SIGN_STYLE: Automatic
TEST_HOST: "$(BUILT_PRODUCTS_DIR)/GrizzyBot.app/Contents/MacOS/GrizzyBot"
BUNDLE_LOADER: "$(TEST_HOST)"
MACOSX_DEPLOYMENT_TARGET: "15.0"
GrizzyBotUITests:
type: bundle.ui-testing
platform: macOS
sources:
- path: Tests/GrizzyBotUITests
dependencies:
- target: GrizzyBot
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.grizzybot.app.uitests
GENERATE_INFOPLIST_FILE: YES
CODE_SIGN_IDENTITY: "-"
CODE_SIGN_STYLE: Automatic
TEST_TARGET_NAME: GrizzyBot
MACOSX_DEPLOYMENT_TARGET: "15.0"