-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathproject.yml
More file actions
109 lines (104 loc) · 3.12 KB
/
Copy pathproject.yml
File metadata and controls
109 lines (104 loc) · 3.12 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
name: CineScreen
options:
bundleIdPrefix: com.cinescreen
deploymentTarget:
macOS: "14.0"
createIntermediateGroups: true
generateEmptyDirectories: true
groupSortPosition: top
xcodeVersion: "15.0"
settings:
base:
SWIFT_VERSION: "5.9"
MARKETING_VERSION: "2.7.0"
CURRENT_PROJECT_VERSION: "1"
ENABLE_HARDENED_RUNTIME: YES
CODE_SIGN_STYLE: Manual
DEVELOPMENT_TEAM: JAT3GYBPJ4
ARCHS: "$(ARCHS_STANDARD)"
ONLY_ACTIVE_ARCH: NO
ENABLE_USER_SCRIPT_SANDBOXING: YES
configs:
Debug:
SWIFT_OPTIMIZATION_LEVEL: "-Onone"
SWIFT_ACTIVE_COMPILATION_CONDITIONS: DEBUG
GCC_OPTIMIZATION_LEVEL: "0"
# Required for @testable import CineScreen in the unit tests.
ENABLE_TESTABILITY: YES
Release:
SWIFT_OPTIMIZATION_LEVEL: "-O"
SWIFT_COMPILATION_MODE: wholemodule
GCC_OPTIMIZATION_LEVEL: "s"
packages:
# Sparkle powers in-place auto-updates. Updating the app at its existing
# path preserves its code-signing identity, so TCC keeps the user's granted
# Accessibility / Screen Recording permissions — no re-granting after updates.
#
# Pinned exactly (Package.resolved lives inside the gitignored, regenerated
# xcodeproj, so it can't pin anything): a floating `from:` resolved a fresh
# latest-2.x on every release build — non-reproducible builds and silent
# framework/CLI skew against the 2.6.4 appcast tools pinned in CI.
Sparkle:
url: https://github.com/sparkle-project/Sparkle
exactVersion: "2.6.4"
targets:
CineScreen:
type: application
platform: macOS
sources:
- path: CineScreen
excludes:
- "Info.plist"
- "CineScreen.entitlements"
dependencies:
- package: Sparkle
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.cinescreen.app.native
PRODUCT_NAME: CineScreen
INFOPLIST_FILE: CineScreen/Info.plist
CODE_SIGN_ENTITLEMENTS: CineScreen/CineScreen.entitlements
GENERATE_INFOPLIST_FILE: NO
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
ENABLE_PREVIEWS: YES
SWIFT_EMIT_LOC_STRINGS: YES
configs:
Debug:
CODE_SIGN_IDENTITY: "Apple Development"
Release:
CODE_SIGN_IDENTITY: "Developer ID Application"
CineScreenTests:
type: bundle.unit-test
platform: macOS
sources:
- path: Tests/CineScreenTests
dependencies:
- target: CineScreen
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.cinescreen.app.native.tests
GENERATE_INFOPLIST_FILE: YES
# Host the tests inside the app so @testable import sees the full
# module without recompiling sources into the bundle.
TEST_HOST: "$(BUILT_PRODUCTS_DIR)/CineScreen.app/Contents/MacOS/CineScreen"
BUNDLE_LOADER: "$(TEST_HOST)"
configs:
Debug:
CODE_SIGN_IDENTITY: "Apple Development"
schemes:
CineScreen:
build:
targets:
CineScreen: all
run:
config: Debug
test:
config: Debug
targets:
- CineScreenTests
profile:
config: Release
analyze:
config: Debug
archive:
config: Release