Repository navigation
Expand file tree
/
Copy pathproject.yml
More file actions
153 lines (148 loc) · 5.46 KB
/
Copy pathproject.yml
File metadata and controls
153 lines (148 loc) · 5.46 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
name: Manifold
options:
bundleIdPrefix: com.spatialduality
deploymentTarget:
macOS: "26.0"
xcodeVersion: "26.4"
packages:
ManifoldKit:
path: .
Sparkle:
url: https://github.com/sparkle-project/Sparkle
from: 2.6.0
targets:
Manifold:
type: application
platform: macOS
sources:
- path: ManifoldApp/ManifoldApp
dependencies:
- package: ManifoldKit
product: ManifoldKit
- package: ManifoldKit
product: ManifoldRuntime
- package: ManifoldKit
product: ManifoldXPC
- package: Sparkle
product: Sparkle
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.spatialduality.manifold
PRODUCT_NAME: Manifold
MARKETING_VERSION: "0.5.0"
CURRENT_PROJECT_VERSION: "1"
SWIFT_VERSION: "6.0"
SWIFT_STRICT_CONCURRENCY: complete
ENABLE_DEBUG_DYLIB: NO
ENABLE_HARDENED_RUNTIME: YES
GENERATE_INFOPLIST_FILE: YES
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS: YES
INFOPLIST_KEY_SUEnableAutomaticChecks: NO
INFOPLIST_KEY_LSApplicationCategoryType: "public.app-category.utilities"
INFOPLIST_KEY_NSHumanReadableCopyright: "Copyright 2026 Spatial Duality. All rights reserved."
CODE_SIGN_STYLE: Automatic
DEVELOPMENT_TEAM: 9FHKB788RP
CODE_SIGN_ENTITLEMENTS: ManifoldApp/ManifoldApp/Manifold.entitlements
COMBINE_HIDPI_IMAGES: YES
LD_RUNPATH_SEARCH_PATHS:
- "$(inherited)"
- "@executable_path/../Frameworks"
configs:
Debug:
ENABLE_DEBUG_DYLIB: YES
ENABLE_HARDENED_RUNTIME: NO
postBuildScripts:
- name: Bundle Launch Agent
basedOnDependencyAnalysis: false
script: |
set -euo pipefail
cd "${SRCROOT}"
config_name="$(printf '%s' "${CONFIGURATION:-Debug}" | tr '[:upper:]' '[:lower:]')"
swift build --product ManifoldAgent -c "$config_name" 2>&1
swift build --product manifold-mcp -c "$config_name" 2>&1
launch_agents_dir="${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}/Library/LaunchAgents"
launch_services_dir="${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}/Library/LaunchServices"
resources_dir="${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}/Resources"
helper_path="$launch_services_dir/ManifoldAgent"
mcp_path="$resources_dir/manifold-mcp"
mkdir -p "$launch_agents_dir" "$launch_services_dir" "$resources_dir"
cp "${SRCROOT}/Resources/com.spatialduality.manifold.runtime.plist" "$launch_agents_dir/com.spatialduality.manifold.runtime.plist"
cp "${SRCROOT}/.build/$config_name/ManifoldAgent" "$helper_path"
cp "${SRCROOT}/.build/$config_name/manifold-mcp" "$mcp_path"
chmod +x "$helper_path" "$mcp_path"
signing_identity=""
signing_options=""
if [ "${CODE_SIGNING_ALLOWED:-NO}" = "YES" ] && [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" ]; then
signing_identity="${EXPANDED_CODE_SIGN_IDENTITY}"
if [ "${ENABLE_HARDENED_RUNTIME:-NO}" = "YES" ]; then
signing_options="--options runtime"
fi
elif [ "${CONFIGURATION:-Debug}" = "Debug" ]; then
signing_identity="-"
fi
if [ -n "$signing_identity" ]; then
/usr/bin/codesign --force --sign "$signing_identity" --timestamp=none $signing_options --generate-entitlement-der "$helper_path"
/usr/bin/codesign --force --sign "$signing_identity" --timestamp=none $signing_options --generate-entitlement-der "$mcp_path"
fi
inputFiles:
- $(SRCROOT)/Resources/com.spatialduality.manifold.runtime.plist
- $(SRCROOT)/Sources/ManifoldAgent/main.swift
outputFiles:
- $(TARGET_BUILD_DIR)/$(CONTENTS_FOLDER_PATH)/Library/LaunchAgents/com.spatialduality.manifold.runtime.plist
- $(TARGET_BUILD_DIR)/$(CONTENTS_FOLDER_PATH)/Library/LaunchServices/ManifoldAgent
- $(TARGET_BUILD_DIR)/$(CONTENTS_FOLDER_PATH)/Resources/manifold-mcp
ManifoldAppTests:
type: bundle.unit-test
platform: macOS
sources:
- path: ManifoldAppTests
dependencies:
- target: Manifold
- package: ManifoldKit
product: ManifoldKit
- package: ManifoldKit
product: ManifoldXPC
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.spatialduality.manifold.tests
PRODUCT_NAME: ManifoldAppTests
SWIFT_VERSION: "6.0"
SWIFT_STRICT_CONCURRENCY: complete
BUNDLE_LOADER: "$(TEST_HOST)"
TEST_HOST: "$(BUILT_PRODUCTS_DIR)/Manifold.app/Contents/MacOS/Manifold"
GENERATE_INFOPLIST_FILE: YES
CODE_SIGN_STYLE: Automatic
ManifoldAppUITests:
type: bundle.ui-testing
platform: macOS
sources:
- path: ManifoldAppUITests
dependencies:
- target: Manifold
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.spatialduality.manifold.uitests
PRODUCT_NAME: ManifoldAppUITests
SWIFT_VERSION: "6.0"
SWIFT_STRICT_CONCURRENCY: complete
TEST_TARGET_NAME: Manifold
GENERATE_INFOPLIST_FILE: YES
CODE_SIGN_STYLE: Automatic
schemes:
Manifold:
build:
targets:
Manifold: all
test:
config: Debug
targets:
- ManifoldAppTests
ManifoldUITests:
build:
targets:
Manifold: all
test:
config: Debug
targets:
- ManifoldAppUITests