-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject.yml
More file actions
88 lines (88 loc) · 3.25 KB
/
Copy pathproject.yml
File metadata and controls
88 lines (88 loc) · 3.25 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
name: MenuMate
options:
bundleIdPrefix: com.menumate
developmentLanguage: en
deploymentTarget:
macOS: "13.0"
createIntermediateGroups: true
configFiles:
Debug: Local.xcconfig
Release: Local.xcconfig
settings:
base:
SWIFT_VERSION: "5.9"
# 版本默认值;发布时 scripts/release.sh 用 tag 覆盖 MARKETING_VERSION + 单调的 CURRENT_PROJECT_VERSION,
# 经下方 Info.plist 的 $(MARKETING_VERSION)/$(CURRENT_PROJECT_VERSION) 注入 → Sparkle 跨版本比较才正确。
MARKETING_VERSION: "0.1.0"
CURRENT_PROJECT_VERSION: "1"
# 签名由 Local.xcconfig 控制(默认 ad-hoc;正式分发用 Developer ID)
targets:
MenuMate:
type: application
platform: macOS
sources:
- path: App
excludes: ["PresetScripts/**"]
- path: App/PresetScripts
buildPhase: resources
optional: true
dependencies:
- package: MenuMateCore
- package: Sparkle
- target: FinderExtension
embed: true
info:
path: App/Info.plist
properties:
CFBundleDisplayName: MenuMate
CFBundleShortVersionString: "$(MARKETING_VERSION)"
CFBundleVersion: "$(CURRENT_PROJECT_VERSION)"
LSUIElement: true
# Sparkle 自动更新:appcast 由发布流程更新到仓库,公钥用你的 EdDSA 公钥替换。见 docs/RELEASING.md。
SUFeedURL: https://raw.githubusercontent.com/Hibrielle/menumate/main/appcast.xml
SUPublicEDKey: REPLACE_WITH_YOUR_SPARKLE_PUBLIC_KEY
# 正式签名发布 + 填好公钥前,关闭自动检查,避免开发版启动弹「无法检查更新」。
# 发布后改为 true(或删掉)即可恢复后台自动更新。手动「检查更新」始终可用。
SUEnableAutomaticChecks: false
# 「前往上一层级目录 / 前往所在目录」等预设用 osascript 控制 Finder 做同窗导航;
# 主 App 非沙盒,发 Apple Event 需声明此用途串,否则 macOS 自动化授权会被静默拒。
NSAppleEventsUsageDescription: "MenuMate 会在你启用的右键预设里控制 Finder,用于在当前窗口内导航(如「前往上一层级目录」「前往所在目录」)。"
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.menumate.app
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
FinderExtension:
type: app-extension
platform: macOS
sources: [FinderExtension]
dependencies:
- package: MenuMateCore
info:
path: FinderExtension/Info.plist
properties:
CFBundleDisplayName: MenuMate Finder Extension
CFBundleShortVersionString: "$(MARKETING_VERSION)"
CFBundleVersion: "$(CURRENT_PROJECT_VERSION)"
NSExtension:
NSExtensionPointIdentifier: com.apple.FinderSync
NSExtensionPrincipalClass: $(PRODUCT_MODULE_NAME).FinderSync
entitlements:
path: FinderExtension/FinderExtension.entitlements
properties:
com.apple.security.app-sandbox: true
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.menumate.app.FinderExtension
packages:
MenuMateCore:
path: Core
Sparkle:
url: https://github.com/sparkle-project/Sparkle
from: "2.6.0"
schemes:
MenuMate:
build:
targets:
MenuMate: all
run:
config: Debug