Repository navigation
Expand file tree
/
Copy pathproject.yml
More file actions
95 lines (90 loc) · 3.35 KB
/
Copy pathproject.yml
File metadata and controls
95 lines (90 loc) · 3.35 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
name: HyperDock
options:
bundleIdPrefix: com.hyperdock
deploymentTarget:
macOS: "26.0"
createIntermediateGroups: true
groupSortPosition: top
developmentLanguage: en
# Both languages must be declared here or Xcode will not compile the zh-Hans entries
# out of Localizable.xcstrings into a zh-Hans.lproj, and the app ships English-only
# with no warning.
knownRegions:
- en
- zh-Hans
- Base
settings:
base:
SWIFT_VERSION: "6.0"
# Verified: with MainActor default isolation, every AX/CG value type that is
# touched off-main must be marked `nonisolated` (SE-0449). See docs/PLAN.md 3.9.
SWIFT_DEFAULT_ACTOR_ISOLATION: MainActor
SWIFT_STRICT_CONCURRENCY: complete
MARKETING_VERSION: "1.0.1"
CURRENT_PROJECT_VERSION: "2"
# Signing is done by scripts/build.sh after the build, not here: it picks the local
# certificate from scripts/setup-signing.sh when present so TCC grants survive a
# rebuild, and falls back to ad-hoc. Never import an identity interactively —
# a modal SecurityAgent prompt can lock the screen.
CODE_SIGN_IDENTITY: "-"
CODE_SIGN_STYLE: Manual
CODE_SIGNING_REQUIRED: YES
CODE_SIGNING_ALLOWED: YES
ENABLE_HARDENED_RUNTIME: YES
DEAD_CODE_STRIPPING: YES
ONLY_ACTIVE_ARCH: NO
ARCHS: arm64
targets:
HyperDock:
type: application
platform: macOS
sources:
- path: Sources/HyperDock
excludes:
- "Resources/Info.plist"
- "Resources/HyperDock.entitlements"
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.hyperdock.HyperDock
PRODUCT_NAME: HyperDock
INFOPLIST_FILE: Sources/HyperDock/Resources/Info.plist
CODE_SIGN_ENTITLEMENTS: Sources/HyperDock/Resources/HyperDock.entitlements
# App Sandbox MUST stay off: sandboxed processes cannot call
# AXUIElementCopyAttributeValue against other applications.
ENABLE_APP_SANDBOX: NO
configs:
Debug:
SWIFT_ACTIVE_COMPILATION_CONDITIONS: DEBUG
# get-task-allow, so a debugger can attach. It must not survive into a build
# anyone else runs — and notarisation rejects it outright.
CODE_SIGN_INJECT_BASE_ENTITLEMENTS: YES
Release:
SWIFT_ACTIVE_COMPILATION_CONDITIONS: ""
CODE_SIGN_INJECT_BASE_ENTITLEMENTS: NO
# Xcode's generated scheme enables coverage when a test target exists. A
# shipped binary must not carry LLVM counters or mapping sections.
ENABLE_CODE_COVERAGE: NO
# Xcode 26 defaults this to YES even for Release, moving the real executable
# into HyperDock.debug.dylib and adding __preview.dylib. That dylib also kept
# test coverage symbols despite ENABLE_CODE_COVERAGE=NO.
ENABLE_DEBUG_DYLIB: NO
SWIFT_COMPILATION_MODE: wholemodule
SWIFT_OPTIMIZATION_LEVEL: "-O"
dependencies:
- sdk: AppKit.framework
- sdk: SwiftUI.framework
- sdk: ScreenCaptureKit.framework
- sdk: ApplicationServices.framework
- sdk: CoreGraphics.framework
- sdk: ServiceManagement.framework
HyperDockTests:
type: bundle.unit-test
platform: macOS
sources:
- path: Tests/HyperDockTests
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.hyperdock.HyperDockTests
GENERATE_INFOPLIST_FILE: YES
dependencies:
- target: HyperDock