Files
XStats/project.yml
T

136 lines
4.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: XStats
options:
bundleIdPrefix: work.12306.xstats
deploymentTarget:
macOS: "14.0"
developmentLanguage: zh-Hans
createIntermediateGroups: true
groupSortPosition: top
settings:
base:
SWIFT_VERSION: "6.0"
# 公开版本号是标准 semver,真源是 CHANGELOG.md 顶部的 “## X.Y.Z · YYYY-MM-DD”
MARKETING_VERSION: "0.12.1"
# Apple 内部构建号每次 task build 加一,独立于公开版本号且不重置
CURRENT_PROJECT_VERSION: "122"
MACOSX_DEPLOYMENT_TARGET: "14.0"
# 本地开发使用 ad-hoc 签名;正式发布使用 Developer ID(见 DEVELOPMENT.md)
CODE_SIGN_STYLE: Manual
CODE_SIGN_IDENTITY: "-"
DEVELOPMENT_TEAM: ""
ENABLE_HARDENED_RUNTIME: YES
DEAD_CODE_STRIPPING: YES
ENABLE_USER_SCRIPT_SANDBOXING: YES
packages:
XStatsKit:
path: Packages/XStatsKit
targets:
XStats:
type: application
platform: macOS
sources:
- path: App
- path: Helper/work.12306.xstats.helper.plist
buildPhase:
copyFiles:
destination: wrapper
subpath: Contents/Library/LaunchDaemons
info:
path: App/Info.plist
properties:
CFBundleName: XStats
CFBundleDisplayName: XStats
CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
CFBundleDevelopmentRegion: zh-Hans
CFBundleLocalizations: [zh-Hans, zh-Hant, ja, ko, en, de, es, fr, ar]
LSMinimumSystemVersion: $(MACOSX_DEPLOYMENT_TARGET)
LSUIElement: true
LSApplicationCategoryType: public.app-category.utilities
NSHumanReadableCopyright: © 2026 XStats
NSCalendarsFullAccessUsageDescription: 在本机日历面板显示您选择的系统日程,不修改或上传日程内容。
NSRemindersFullAccessUsageDescription: 在本机日历面板显示您选择的到期提醒,不修改或上传提醒内容。
entitlements:
path: App/XStats.entitlements
properties:
# EventKit 在 Hardened Runtime 下请求日历与提醒事项访问所需;仍由用户单独授权。
com.apple.security.personal-information.calendars: true
com.apple.security.application-groups:
- group.work.12306.xstats
settings:
base:
PRODUCT_NAME: XStats
PRODUCT_BUNDLE_IDENTIFIER: work.12306.xstats.app
PROVISIONING_PROFILE_SPECIFIER: $(XSTATS_APP_PROFILE)
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
dependencies:
- package: XStatsKit
product: XStatsUI
- target: XStatsHelper
embed: true
copy:
destination: executables
- target: XStatsWidget
embed: true
# 桌面小组件(沙盒扩展),嵌入 XStats.app/Contents/PlugIns
XStatsWidget:
type: app-extension
platform: macOS
sources:
- path: Widget
excludes:
- "*.entitlements"
info:
path: Widget/Info.plist
properties:
CFBundleDisplayName: XStats
CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
LSMinimumSystemVersion: $(MACOSX_DEPLOYMENT_TARGET)
NSExtension:
NSExtensionPointIdentifier: com.apple.widgetkit-extension
entitlements:
path: Widget/XStatsWidget.entitlements
properties:
com.apple.security.app-sandbox: true
com.apple.security.application-groups:
- group.work.12306.xstats
settings:
base:
PRODUCT_NAME: XStatsWidget
PRODUCT_BUNDLE_IDENTIFIER: work.12306.xstats.app.widget
PROVISIONING_PROFILE_SPECIFIER: $(XSTATS_WIDGET_PROFILE)
SKIP_INSTALL: YES
dependencies:
- package: XStatsKit
product: Metrics
- package: XStatsKit
product: WidgetData
- package: XStatsKit
product: Localization
XStatsHelper:
type: tool
platform: macOS
sources:
- path: Helper
excludes:
- "*.plist"
settings:
base:
PRODUCT_NAME: XStatsHelper
PRODUCT_BUNDLE_IDENTIFIER: work.12306.xstats.helper
GENERATE_INFOPLIST_FILE: YES
CREATE_INFOPLIST_SECTION_IN_BINARY: YES
SKIP_INSTALL: YES
dependencies:
- package: XStatsKit
product: SMC
- package: XStatsKit
product: HelperShared