Repository navigation
Expand file tree
/
Copy pathproject.yml
More file actions
130 lines (124 loc) · 4.17 KB
/
Copy pathproject.yml
File metadata and controls
130 lines (124 loc) · 4.17 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
name: Layland
options:
bundleIdPrefix: com.matjouhet
deploymentTarget:
macOS: "15.0"
createIntermediateGroups: true
generateEmptyDirectories: true
packages:
Sparkle:
url: https://github.com/sparkle-project/Sparkle
from: 2.9.6
settings:
base:
# The version people see, and the build number Sparkle compares: monotonic, never
# reused. release.sh reads both from here.
MARKETING_VERSION: "1.1.0"
CURRENT_PROJECT_VERSION: "2"
SWIFT_VERSION: "6.0"
DEVELOPMENT_TEAM: 72SRWBKE32
CODE_SIGN_STYLE: Manual
CODE_SIGN_IDENTITY: "Developer ID Application"
ENABLE_HARDENED_RUNTIME: YES
ENABLE_USER_SCRIPT_SANDBOXING: YES
SWIFT_STRICT_CONCURRENCY: complete
DEAD_CODE_STRIPPING: YES
configs:
# Hardened runtime blocks loading the test bundle into the app; only needed for shipping.
Debug:
ENABLE_HARDENED_RUNTIME: NO
targets:
Layland:
type: application
platform: macOS
sources:
- path: Layland
dependencies:
- package: Sparkle
info:
path: Layland/App/Info.plist
properties:
CFBundleName: Layland
CFBundleDisplayName: Layland
CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
# Updates (Sparkle): the appcast is an asset of the latest GitHub release, which
# layland.app/appcast.xml proxies (the site's _redirects), so installed copies only
# ever ask the site. Every archive it lists is signed with this EdDSA key (the same one
# as Subtitles; the private half is in the login Keychain — back it up with
# generate_keys -x).
SUFeedURL: https://layland.app/appcast.xml
SUPublicEDKey: m+S4Ls6kFN21gYSPjfLglyylSW97Z/usYuahg1+RMr4=
LSMinimumSystemVersion: $(MACOSX_DEPLOYMENT_TARGET)
LSApplicationCategoryType: public.app-category.utilities
NSHumanReadableCopyright: "© 2026 Mathieu Jouhet"
NSPrincipalClass: NSApplication
NSDesktopFolderUsageDescription: Layland measures the size of files in your Desktop folder.
NSDocumentsFolderUsageDescription: Layland measures the size of files in your Documents folder.
NSDownloadsFolderUsageDescription: Layland measures the size of files in your Downloads folder.
NSRemovableVolumesUsageDescription: Layland measures the size of files on removable volumes.
NSNetworkVolumesUsageDescription: Layland measures the size of files on network volumes.
NSFileProviderDomainUsageDescription: Layland measures the size of files in cloud-synced folders.
CFBundleDocumentTypes:
- CFBundleTypeName: Layland Scan
CFBundleTypeRole: Viewer
LSHandlerRank: Owner
LSItemContentTypes: [com.matjouhet.layland.scan]
UTExportedTypeDeclarations:
- UTTypeIdentifier: com.matjouhet.layland.scan
UTTypeDescription: Layland Scan
UTTypeConformsTo: [public.data]
UTTypeTagSpecification:
public.filename-extension: [layland]
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.matjouhet.Layland
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
ENABLE_PREVIEWS: YES
SWIFT_EMIT_LOC_STRINGS: YES
layland-bench:
type: tool
platform: macOS
sources:
- path: Layland/Core
- path: Bench
settings:
base:
PRODUCT_NAME: layland-bench
CODE_SIGN_IDENTITY: "-"
CODE_SIGN_STYLE: Automatic
ENABLE_HARDENED_RUNTIME: NO
# The benchmark exists to measure the scanner; always build it optimized.
SWIFT_OPTIMIZATION_LEVEL: "-O"
LaylandTests:
type: bundle.unit-test
platform: macOS
sources:
- path: LaylandTests
dependencies:
- target: Layland
settings:
base:
GENERATE_INFOPLIST_FILE: YES
schemes:
Layland:
build:
targets:
Layland: all
LaylandTests: [test]
run:
config: Debug
test:
config: Debug
targets:
- LaylandTests
profile:
config: Release
archive:
config: Release
layland-bench:
build:
targets:
layland-bench: all
run:
config: Release