Files
notes/project.yml
T
rzen cf8616107b Add IndieAbout + IndieBackup, TestFlight release pipeline
IndieAbout: About section in iOS Settings and macOS About window; LICENSE
switched to the portfolio-standard ISC text (reflowed for in-app rendering).

IndieBackup: files-only backup/restore of the iCloud container documents
('.notesbackup' document type on both platforms), SwiftData cache rebuilt
via SyncEngine.rebuildCache() after restore, monitors suspended during the
file swap, onOpenURL import with pre-launch queueing.

Release pipeline: Scripts/release.sh (ios|mac|all) archives and uploads via
xcodebuild + ASC API key; platform-partitioned build numbers (iOS even,
macOS odd) since both targets share one bundle ID and build sequence.
2026-07-14 20:50:06 -04:00

141 lines
3.8 KiB
YAML

name: Notes
options:
bundleIdPrefix: dev.rzen.indie
deploymentTarget:
iOS: "26.0"
macOS: "26.0"
xcodeVersion: "26.0"
defaultConfig: Debug
settings:
base:
SWIFT_VERSION: "6.0"
DEVELOPMENT_TEAM: ${APPLE_TEAM_ID}
MARKETING_VERSION: "0.1"
CURRENT_PROJECT_VERSION: "1"
ENABLE_USER_SCRIPT_SANDBOXING: "NO"
packages:
IndieSync:
url: https://git.rzen.dev/rzen/indie-sync.git
from: "0.1.0"
IndieAbout:
url: https://git.rzen.dev/rzen/indie-about.git
from: "0.1.0"
IndieBackup:
url: https://git.rzen.dev/rzen/indie-backup.git
from: "2.0.0"
schemes:
Notes:
build:
targets:
Notes: all
NotesTests: [test]
run:
config: Debug
test:
config: Debug
targets:
- NotesTests
archive:
config: Release
targets:
NotesTests:
type: bundle.unit-test
platform: iOS
sources:
- NotesTests
dependencies:
- target: Notes
- package: IndieSync
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: dev.rzen.indie.NotesTests
GENERATE_INFOPLIST_FILE: true
SWIFT_STRICT_CONCURRENCY: complete
IPHONEOS_DEPLOYMENT_TARGET: "26.0"
Notes:
type: application
platform: iOS
sources:
- path: Notes
excludes:
- "Resources/Info-*.plist"
- "Resources/*.entitlements"
- path: CHANGELOG.md
buildPhase: resources
type: file
- path: README.md
buildPhase: resources
type: file
- path: LICENSE.md
buildPhase: resources
type: file
dependencies:
- package: IndieSync
- package: IndieAbout
- package: IndieBackup
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: dev.rzen.indie.Notes
INFOPLIST_FILE: Notes/Resources/Info-iOS.plist
CODE_SIGN_ENTITLEMENTS: Notes/Resources/Notes-iOS.entitlements
GENERATE_INFOPLIST_FILE: false
SWIFT_STRICT_CONCURRENCY: complete
IPHONEOS_DEPLOYMENT_TARGET: "26.0"
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: AccentColor
TARGETED_DEVICE_FAMILY: "1,2"
postBuildScripts:
- script: '"${SRCROOT}/Scripts/update_build_number.sh"'
name: Update Build Info
shell: /bin/sh
basedOnDependencyAnalysis: false
inputFiles:
- $(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)
- $(DWARF_DSYM_FOLDER_PATH)/$(DWARF_DSYM_FILE_NAME)/Contents/Info.plist
NotesMac:
type: application
platform: macOS
sources:
- path: Notes
excludes:
- "Resources/Info-*.plist"
- "Resources/*.entitlements"
- path: CHANGELOG.md
buildPhase: resources
type: file
- path: README.md
buildPhase: resources
type: file
- path: LICENSE.md
buildPhase: resources
type: file
dependencies:
- package: IndieSync
- package: IndieAbout
- package: IndieBackup
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: dev.rzen.indie.Notes
PRODUCT_NAME: Notes
INFOPLIST_FILE: Notes/Resources/Info-macOS.plist
CODE_SIGN_ENTITLEMENTS: Notes/Resources/Notes-macOS.entitlements
GENERATE_INFOPLIST_FILE: false
SWIFT_STRICT_CONCURRENCY: complete
MACOSX_DEPLOYMENT_TARGET: "26.0"
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: AccentColor
postBuildScripts:
- script: '"${SRCROOT}/Scripts/update_build_number.sh"'
name: Update Build Info
shell: /bin/sh
basedOnDependencyAnalysis: false
inputFiles:
- $(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)
- $(DWARF_DSYM_FOLDER_PATH)/$(DWARF_DSYM_FILE_NAME)/Contents/Info.plist