-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject.yml
More file actions
108 lines (103 loc) · 3.98 KB
/
Copy pathproject.yml
File metadata and controls
108 lines (103 loc) · 3.98 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
name: LiveLoop
options:
bundleIdPrefix: com.adrbn
deploymentTarget:
macOS: "14.0"
createIntermediateGroups: true
defaultConfig: Release
settings:
base:
DEVELOPMENT_TEAM: 2TWQF4T93E
CODE_SIGN_STYLE: Manual
CODE_SIGN_IDENTITY: "Apple Development"
SWIFT_VERSION: "5.0"
MARKETING_VERSION: "1.1.1"
CURRENT_PROJECT_VERSION: "2"
ENABLE_HARDENED_RUNTIME: YES
# Team identifier prefix is injected at sign time; kept here for reference.
INFOPLIST_KEY_LSUIElement: YES
targets:
# ---------------------------------------------------------------------------
# Main menu-bar application (the control plane)
# ---------------------------------------------------------------------------
LiveLoop:
type: application
platform: macOS
sources:
- path: LiveLoop
info:
path: LiveLoop/Info.plist
properties:
# Not LSUIElement: a pure background app cannot present the camera TCC
# prompt (macOS auto-denies). We hide the Dock icon at runtime after
# first-run permission is granted instead (see AppState).
LSUIElement: false
CFBundleDisplayName: LiveLoop
CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
NSCameraUsageDescription: "LiveLoop records short clips from your webcam and streams them (or your live feed) through its virtual camera."
NSMicrophoneUsageDescription: "LiveLoop does not use your microphone; audio always passes straight through to your meeting app."
NSSystemExtensionUsageDescription: "LiveLoop installs a virtual camera extension so Zoom, Meet, Teams and other apps can use your looped clip."
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.adrbn.LiveLoop
PRODUCT_NAME: LiveLoop
CODE_SIGN_ENTITLEMENTS: LiveLoop/LiveLoop.entitlements
ENABLE_APP_SANDBOX: NO
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
dependencies:
- target: LiveLoopExtension
embed: true
codeSign: true
# ---------------------------------------------------------------------------
# CMIO camera system extension (the virtual camera relay)
# ---------------------------------------------------------------------------
LiveLoopExtension:
type: system-extension
platform: macOS
sources:
- path: LiveLoopExtension
- path: LiveLoop/Shared/SharedConstants.swift
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.adrbn.LiveLoop.Extension
# CRITICAL: a CMIO system extension is only found by OSSystemExtensionManager
# when its executable/bundle name equals its bundle identifier.
PRODUCT_NAME: com.adrbn.LiveLoop.Extension
CODE_SIGN_ENTITLEMENTS: LiveLoopExtension/LiveLoopExtension.entitlements
ENABLE_APP_SANDBOX: YES
INFOPLIST_FILE: LiveLoopExtension/Info.plist
SWIFT_OBJC_BRIDGING_HEADER: ""
# ---------------------------------------------------------------------------
# Unit tests (pure-logic engine + library)
# ---------------------------------------------------------------------------
LiveLoopTests:
type: bundle.unit-test
platform: macOS
# Compile the pure-logic sources straight into the bundle so tests run
# headless — no app host, no @testable, works under plain `xcodebuild test`.
sources:
- path: Tests/LiveLoopTests
- path: LiveLoop/Loop/SplitMix64.swift
- path: LiveLoop/Loop/PingPongSequencer.swift
- path: LiveLoop/Loop/LagScheduler.swift
- path: LiveLoop/Library/Clip.swift
- path: LiveLoop/Library/ClipLibrary.swift
- path: LiveLoop/Shared/SharedConstants.swift
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.adrbn.LiveLoopTests
GENERATE_INFOPLIST_FILE: YES
CODE_SIGNING_ALLOWED: NO
schemes:
LiveLoop:
build:
targets:
LiveLoop: all
LiveLoopExtension: all
run:
config: Release
test:
config: Release
targets:
- LiveLoopTests