Repository navigation
Expand file tree
/
Copy pathproject.yml
More file actions
345 lines (344 loc) · 10.2 KB
/
Copy pathproject.yml
File metadata and controls
345 lines (344 loc) · 10.2 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
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
name: ishare
options:
bundleIdPrefix: dev.adrian
deploymentTarget:
macOS: "15.0"
createIntermediateGroups: true
developmentLanguage: en
groupSortPosition: top
configFiles:
Debug: Config.xcconfig
Release: Config.xcconfig
settings:
base:
DEVELOPMENT_TEAM: L988J7YMK5
CODE_SIGN_STYLE: Automatic
MACOSX_DEPLOYMENT_TARGET: "15.0"
ARCHS: arm64
SWIFT_VERSION: "6.0"
SWIFT_STRICT_CONCURRENCY: targeted
SWIFT_EMIT_LOC_STRINGS: YES
ENABLE_USER_SCRIPT_SANDBOXING: YES
DEAD_CODE_STRIPPING: YES
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS: YES
STRING_CATALOG_GENERATE_SYMBOLS: NO
LOCALIZATION_PREFERS_STRING_CATALOGS: YES
SWIFT_UPCOMING_FEATURE_CONCISE_MAGIC_FILE: YES
SWIFT_UPCOMING_FEATURE_DEPRECATE_APPLICATION_MAIN: YES
SWIFT_UPCOMING_FEATURE_DISABLE_OUTWARD_ACTOR_ISOLATION: YES
SWIFT_UPCOMING_FEATURE_FORWARD_TRAILING_CLOSURES: YES
SWIFT_UPCOMING_FEATURE_GLOBAL_CONCURRENCY: YES
SWIFT_UPCOMING_FEATURE_IMPLICIT_OPEN_EXISTENTIALS: YES
SWIFT_UPCOMING_FEATURE_IMPORT_OBJC_FORWARD_DECLS: YES
SWIFT_UPCOMING_FEATURE_INFER_SENDABLE_FROM_CAPTURES: YES
SWIFT_UPCOMING_FEATURE_ISOLATED_DEFAULT_VALUES: YES
configs:
Release:
DEBUG_INFORMATION_FORMAT: dwarf-with-dsym
packages:
Alamofire:
url: https://github.com/Alamofire/Alamofire
from: 5.10.2
SwiftyJSON:
url: https://github.com/SwiftyJSON/SwiftyJSON
from: 5.0.2
BezelNotification:
url: https://github.com/BlueHuskyStudios/BezelNotification
from: 2.1.0
MenuBarExtraAccess:
url: https://github.com/orchetect/MenuBarExtraAccess
from: 1.2.0
SettingsAccess:
url: https://github.com/orchetect/SettingsAccess
from: 1.4.0
Defaults:
url: https://github.com/sindresorhus/Defaults
from: 9.0.3
KeyboardShortcuts:
url: https://github.com/sindresorhus/KeyboardShortcuts
from: 2.2.2
LaunchAtLogin:
url: https://github.com/sindresorhus/LaunchAtLogin-Modern
from: 1.1.0
Sparkle:
url: https://github.com/sparkle-project/Sparkle
from: 2.6.4
Citadel:
url: https://github.com/orlandos-nl/Citadel
exactVersion: 0.12.0
ishareCore:
path: Packages/ishareCore
targetTemplates:
ishareApp:
type: application
platform: macOS
sources:
- path: ishare
excludes:
- "**/*.entitlements"
- "**/Info*.plist"
- path: AppIcon.icon
buildPhase: resources
- path: CHANGELOG.md
buildPhase: resources
dependencies:
- package: Alamofire
- package: SwiftyJSON
- package: BezelNotification
- package: MenuBarExtraAccess
- package: SettingsAccess
- package: Defaults
- package: KeyboardShortcuts
- package: LaunchAtLogin
- package: Citadel
- package: ishareCore
- target: sharemenuext
embed: true
codeSign: true
- target: ishareWidgets
embed: true
codeSign: true
- target: ishare-cli
embed: true
codeSign: true
copy:
destination: wrapper
subpath: Contents/Helpers
settings:
base:
PRODUCT_NAME: ishare
PRODUCT_MODULE_NAME: ishare
PRODUCT_BUNDLE_IDENTIFIER: dev.adrian.ishare
ENABLE_HARDENED_RUNTIME: YES
ENABLE_PREVIEWS: YES
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: AccentColor
COMBINE_HIDPI_IMAGES: YES
GENERATE_INFOPLIST_FILE: YES
INFOPLIST_KEY_CFBundleDisplayName: ishare
INFOPLIST_KEY_LSApplicationCategoryType: public.app-category.utilities
INFOPLIST_KEY_LSUIElement: YES
INFOPLIST_KEY_LSSupportsOpeningDocumentsInPlace: YES
INFOPLIST_KEY_NSHumanReadableCopyright: "© Adrian Castro"
INFOPLIST_KEY_NSMicrophoneUsageDescription: ishare requires access to your microphone if you wish to record it
INFOPLIST_KEY_NSScreenCaptureUsageDescription: ishare captures your screen to create screenshots and recordings
LD_RUNPATH_SEARCH_PATHS: $(inherited) @executable_path/../Frameworks
REGISTER_APP_GROUPS: YES
targets:
ishare:
templates:
- ishareApp
settings:
base:
INFOPLIST_FILE: ishare/Info.plist
CODE_SIGN_ENTITLEMENTS: $(ISHARE_APP_STORE_ENTITLEMENTS:default=ishare/ishare.entitlements)
ENABLE_APP_SANDBOX: YES
SWIFT_ACTIVE_COMPILATION_CONDITIONS: $(inherited) APP_STORE
configs:
Debug:
SWIFT_ACTIVE_COMPILATION_CONDITIONS: DEBUG APP_STORE
ishare - GitHub:
templates:
- ishareApp
dependencies:
- package: Sparkle
settings:
base:
INFOPLIST_FILE: ishare/Info-GitHub.plist
CODE_SIGN_ENTITLEMENTS: ishare/ishare-github.entitlements
SWIFT_ACTIVE_COMPILATION_CONDITIONS: $(inherited) GITHUB_RELEASE
configs:
Debug:
SWIFT_ACTIVE_COMPILATION_CONDITIONS: DEBUG GITHUB_RELEASE
sharemenuext:
type: app-extension
platform: macOS
sources:
- path: sharemenuext
excludes:
- "**/*.entitlements"
- Info.plist
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: dev.adrian.ishare.sharemenuext
INFOPLIST_FILE: sharemenuext/Info.plist
LM_SKIP_METADATA_EXTRACTION: YES
GENERATE_INFOPLIST_FILE: YES
INFOPLIST_KEY_CFBundleDisplayName: ishare
CODE_SIGN_ENTITLEMENTS: sharemenuext/sharemenuext.entitlements
ENABLE_APP_SANDBOX: YES
ENABLE_HARDENED_RUNTIME: YES
ENABLE_USER_SELECTED_FILES: readonly
REGISTER_APP_GROUPS: YES
SKIP_INSTALL: YES
COMBINE_HIDPI_IMAGES: YES
LD_RUNPATH_SEARCH_PATHS: $(inherited) @executable_path/../Frameworks @executable_path/../../../../Frameworks
ishareWidgets:
type: app-extension
platform: macOS
deploymentTarget: "15.0"
sources:
- path: ishareWidgets
excludes:
- "**/*.entitlements"
- Info.plist
- path: ishare/Shared
dependencies:
- sdk: WidgetKit.framework
- sdk: SwiftUI.framework
settings:
base:
PRODUCT_NAME: ishareWidgets
PRODUCT_BUNDLE_IDENTIFIER: dev.adrian.ishare.widgets
INFOPLIST_FILE: ishareWidgets/Info.plist
GENERATE_INFOPLIST_FILE: YES
INFOPLIST_KEY_CFBundleDisplayName: ishare
INFOPLIST_KEY_NSHumanReadableCopyright: "© Adrian Castro"
CODE_SIGN_ENTITLEMENTS: ishareWidgets/ishareWidgets.entitlements
ENABLE_APP_SANDBOX: YES
ENABLE_HARDENED_RUNTIME: YES
REGISTER_APP_GROUPS: YES
SKIP_INSTALL: YES
COMBINE_HIDPI_IMAGES: YES
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: ""
LD_RUNPATH_SEARCH_PATHS: $(inherited) @executable_path/../Frameworks @executable_path/../../../../Frameworks
ishare-cli:
type: tool
platform: macOS
sources:
- path: ishare-cli
excludes:
- "**/*.entitlements"
- path: ishare/CLI
settings:
base:
PRODUCT_NAME: ishare
PRODUCT_MODULE_NAME: ishare_cli
PRODUCT_BUNDLE_IDENTIFIER: dev.adrian.ishare.cli
CODE_SIGN_ENTITLEMENTS: ishare-cli/ishare-cli.entitlements
ENABLE_APP_SANDBOX: YES
ENABLE_HARDENED_RUNTIME: YES
REGISTER_APP_GROUPS: YES
GENERATE_INFOPLIST_FILE: YES
CREATE_INFOPLIST_SECTION_IN_BINARY: YES
INFOPLIST_KEY_CFBundleDisplayName: ishare
INFOPLIST_KEY_NSHumanReadableCopyright: "© Adrian Castro"
SKIP_INSTALL: YES
SWIFT_EMIT_LOC_STRINGS: NO
ishareTests:
type: bundle.unit-test
platform: macOS
sources:
- path: ishareTests
excludes:
- Snapshots
- "**/*.entitlements"
dependencies:
- target: ishare - GitHub
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: dev.adrian.ishare.tests
GENERATE_INFOPLIST_FILE: YES
TEST_HOST: $(BUILT_PRODUCTS_DIR)/ishare.app/Contents/MacOS/ishare
BUNDLE_LOADER: $(TEST_HOST)
ishareAppStoreTests:
type: bundle.unit-test
platform: macOS
sources:
- path: ishareTests
excludes:
- Snapshots
- "**/*.entitlements"
- path: examples
type: folder
buildPhase:
copyFiles:
destination: resources
subpath: Fixtures
- path: ishare
type: folder
buildPhase:
copyFiles:
destination: resources
subpath: Fixtures
dependencies:
- target: ishare
settings:
base:
PRODUCT_NAME: ishareAppStoreTests
PRODUCT_MODULE_NAME: ishareAppStoreTests
PRODUCT_BUNDLE_IDENTIFIER: dev.adrian.ishare.appstoretests
GENERATE_INFOPLIST_FILE: YES
TEST_HOST: $(BUILT_PRODUCTS_DIR)/ishare.app/Contents/MacOS/ishare
BUNDLE_LOADER: $(TEST_HOST)
ishareUITests:
type: bundle.ui-testing
platform: macOS
sources:
- path: ishareUITests
dependencies:
- target: ishare - GitHub
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: dev.adrian.ishare.uitests
LM_SKIP_METADATA_EXTRACTION: YES
CODE_SIGN_ENTITLEMENTS: ishareUITests/Support/UITests.entitlements
GENERATE_INFOPLIST_FILE: YES
TEST_TARGET_NAME: ishare - GitHub
schemes:
ishare:
build:
targets:
ishare: all
run:
config: Debug
archive:
config: Release
GitHub:
build:
targets:
ishare - GitHub: all
ishareTests: [test]
run:
config: Debug
test:
config: Debug
gatherCoverageData: true
targets:
- ishareTests
- package: ishareCore/ishareCoreTests
archive:
config: Release
AppStoreTests:
build:
targets:
ishare: all
ishareAppStoreTests: [test]
test:
config: Debug
targets:
- ishareAppStoreTests
Screenshots:
build:
targets:
ishare - GitHub: all
ishareUITests: [test]
test:
config: Debug
targets:
- name: ishareUITests
selectedTests:
- ScreenshotTests
- GuideClipTests
UITests:
build:
targets:
ishare - GitHub: all
ishareUITests: [test]
test:
config: Debug
targets:
- name: ishareUITests
skippedTests:
- ScreenshotTests
- GuideClipTests