285 lines
8.2 KiB
YAML
285 lines
8.2 KiB
YAML
name: LilithMessenger
|
|
options:
|
|
bundleIdPrefix: com.lilith
|
|
deploymentTarget:
|
|
iOS: "17.0"
|
|
watchOS: "10.0"
|
|
xcodeVersion: "16.0"
|
|
generateEmptyDirectories: false
|
|
createIntermediateGroups: true
|
|
|
|
packages:
|
|
swift-logging:
|
|
url: https://forge.black.lan/lilith/swift-logging.git
|
|
from: "1.0.0"
|
|
swift-coordinator:
|
|
url: https://forge.black.lan/lilith/swift-coordinator.git
|
|
from: "1.0.0"
|
|
swift-realtime:
|
|
url: https://forge.black.lan/lilith/swift-realtime.git
|
|
from: "1.0.0"
|
|
swift-settings:
|
|
url: https://forge.black.lan/lilith/swift-settings.git
|
|
from: "1.0.0"
|
|
swift-design-tokens:
|
|
url: https://forge.black.lan/lilith/swift-design-tokens.git
|
|
from: "1.0.0"
|
|
swift-buttons:
|
|
url: https://forge.black.lan/lilith/swift-buttons.git
|
|
from: "1.0.0"
|
|
swift-forms:
|
|
url: https://forge.black.lan/lilith/swift-forms.git
|
|
from: "1.0.0"
|
|
swift-feedback:
|
|
url: https://forge.black.lan/lilith/swift-feedback.git
|
|
from: "1.0.0"
|
|
swift-layout:
|
|
url: https://forge.black.lan/lilith/swift-layout.git
|
|
from: "1.0.5"
|
|
swift-chat-core:
|
|
url: https://forge.black.lan/lilith/swift-chat-core.git
|
|
from: "1.0.1"
|
|
swift-domain-models:
|
|
url: https://forge.black.lan/lilith/swift-domain-models.git
|
|
from: "1.0.4"
|
|
swift-api-client:
|
|
url: https://forge.black.lan/lilith/swift-api-client.git
|
|
from: "1.0.0"
|
|
swift-rich-cards:
|
|
url: https://forge.black.lan/lilith/swift-rich-cards.git
|
|
from: "1.0.0"
|
|
|
|
settings:
|
|
base:
|
|
SWIFT_VERSION: "5.9"
|
|
IPHONEOS_DEPLOYMENT_TARGET: "17.0"
|
|
WATCHOS_DEPLOYMENT_TARGET: "10.0"
|
|
TARGETED_DEVICE_FAMILY: "1,2,4"
|
|
|
|
targets:
|
|
|
|
# MARK: - Shared Framework (iOS + watchOS)
|
|
|
|
LilithMessengerShared:
|
|
type: framework
|
|
platform: [iOS, watchOS]
|
|
sources:
|
|
- path: LilithMessengerShared
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.lilith.messaging.shared
|
|
GENERATE_INFOPLIST_FILE: "YES"
|
|
CODE_SIGN_IDENTITY: "-"
|
|
CODE_SIGN_STYLE: Manual
|
|
SUPPORTED_PLATFORMS: "iphoneos iphonesimulator watchos watchsimulator"
|
|
SUPPORTS_MACCATALYST: "NO"
|
|
|
|
# MARK: - iOS App
|
|
|
|
LilithMessenger:
|
|
type: application
|
|
platform: iOS
|
|
sources:
|
|
- path: LilithMessenger
|
|
excludes:
|
|
- "**/*.test.swift"
|
|
dependencies:
|
|
- target: LilithMessengerShared
|
|
- package: swift-logging
|
|
product: LilithLogging
|
|
- package: swift-coordinator
|
|
product: LilithCoordinator
|
|
- package: swift-realtime
|
|
product: LilithRealtime
|
|
- package: swift-settings
|
|
product: LilithSettings
|
|
- package: swift-design-tokens
|
|
product: LilithDesignTokens
|
|
- package: swift-buttons
|
|
product: LilithButtons
|
|
- package: swift-forms
|
|
product: LilithForms
|
|
- package: swift-feedback
|
|
product: LilithFeedback
|
|
- package: swift-layout
|
|
product: LilithLayout
|
|
- package: swift-chat-core
|
|
product: MessagingChatCore
|
|
- package: swift-domain-models
|
|
product: LilithDomainModels
|
|
- package: swift-api-client
|
|
product: MessagingAPIClient
|
|
- package: swift-rich-cards
|
|
product: MessagingRichCards
|
|
info:
|
|
path: LilithMessenger/Info.plist
|
|
properties:
|
|
CFBundleDisplayName: Lilith Messenger
|
|
CFBundleShortVersionString: "1.0.0"
|
|
CFBundleVersion: "1"
|
|
CFBundleURLTypes:
|
|
- CFBundleURLName: com.lilith.messaging.auth
|
|
CFBundleURLSchemes:
|
|
- lilith-messenger
|
|
UILaunchScreen:
|
|
UIColorName: ""
|
|
UIImageName: ""
|
|
UISupportedInterfaceOrientations:
|
|
- UIInterfaceOrientationPortrait
|
|
- UIInterfaceOrientationLandscapeLeft
|
|
- UIInterfaceOrientationLandscapeRight
|
|
UIBackgroundModes:
|
|
- remote-notification
|
|
NSPhotoLibraryUsageDescription: "Lilith Messenger needs access to your photo library to send images in conversations."
|
|
NSCameraUsageDescription: "Lilith Messenger needs camera access to take photos for conversations."
|
|
entitlements:
|
|
path: LilithMessenger/LilithMessenger.entitlements
|
|
properties:
|
|
keychain-access-groups:
|
|
- "$(AppIdentifierPrefix)com.lilith.messaging"
|
|
com.apple.security.application-groups:
|
|
- "group.com.lilith.messaging"
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.lilith.messaging
|
|
GENERATE_INFOPLIST_FILE: "YES"
|
|
INFOPLIST_FILE: LilithMessenger/Info.plist
|
|
DEVELOPMENT_TEAM: ""
|
|
CODE_SIGN_STYLE: Manual
|
|
CODE_SIGN_IDENTITY: "-"
|
|
PROVISIONING_PROFILE_SPECIFIER: ""
|
|
CODE_SIGN_ENTITLEMENTS: LilithMessenger/LilithMessenger.entitlements
|
|
|
|
# MARK: - watchOS App
|
|
|
|
LilithMessengerWatch:
|
|
type: application
|
|
platform: watchOS
|
|
sources:
|
|
- path: LilithMessengerWatch
|
|
dependencies:
|
|
- target: LilithMessengerShared
|
|
entitlements:
|
|
path: LilithMessengerWatch/LilithMessengerWatch.entitlements
|
|
properties:
|
|
keychain-access-groups:
|
|
- "$(AppIdentifierPrefix)com.lilith.messaging"
|
|
com.apple.security.application-groups:
|
|
- "group.com.lilith.messaging"
|
|
info:
|
|
properties:
|
|
CFBundleDisplayName: Lilith
|
|
CFBundleShortVersionString: "1.0.0"
|
|
CFBundleVersion: "1"
|
|
WKCompanionAppBundleIdentifier: com.lilith.messaging
|
|
WKRunsIndependentlyOfCompanionApp: true
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.lilith.messaging.watchkitapp
|
|
GENERATE_INFOPLIST_FILE: "YES"
|
|
DEVELOPMENT_TEAM: ""
|
|
CODE_SIGN_STYLE: Manual
|
|
CODE_SIGN_IDENTITY: "-"
|
|
PROVISIONING_PROFILE_SPECIFIER: ""
|
|
CODE_SIGN_ENTITLEMENTS: LilithMessengerWatch/LilithMessengerWatch.entitlements
|
|
WATCHOS_DEPLOYMENT_TARGET: "10.0"
|
|
|
|
# MARK: - watchOS Widget Extension
|
|
|
|
LilithMessengerWatchWidgets:
|
|
type: app-extension
|
|
platform: watchOS
|
|
sources:
|
|
- path: LilithMessengerWatchWidgets
|
|
dependencies:
|
|
- target: LilithMessengerShared
|
|
info:
|
|
properties:
|
|
CFBundleDisplayName: Availability Widget
|
|
CFBundleShortVersionString: "1.0.0"
|
|
CFBundleVersion: "1"
|
|
NSExtension:
|
|
NSExtensionPointIdentifier: com.apple.widgetkit-extension
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.lilith.messaging.watchkitapp.widgets
|
|
GENERATE_INFOPLIST_FILE: "YES"
|
|
DEVELOPMENT_TEAM: ""
|
|
CODE_SIGN_STYLE: Manual
|
|
CODE_SIGN_IDENTITY: "-"
|
|
PROVISIONING_PROFILE_SPECIFIER: ""
|
|
WATCHOS_DEPLOYMENT_TARGET: "10.0"
|
|
|
|
# MARK: - Tests
|
|
|
|
LilithMessengerTests:
|
|
type: bundle.unit-test
|
|
platform: iOS
|
|
sources:
|
|
- path: LilithMessengerTests
|
|
dependencies:
|
|
- target: LilithMessenger
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.lilith.messaging.tests
|
|
GENERATE_INFOPLIST_FILE: "YES"
|
|
TEST_HOST: "$(BUILT_PRODUCTS_DIR)/LilithMessenger.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/LilithMessenger"
|
|
BUNDLE_LOADER: "$(TEST_HOST)"
|
|
CODE_SIGN_IDENTITY: "-"
|
|
CODE_SIGN_STYLE: Manual
|
|
|
|
LilithMessengerUITests:
|
|
type: bundle.ui-testing
|
|
platform: iOS
|
|
sources:
|
|
- path: LilithMessengerUITests
|
|
dependencies:
|
|
- target: LilithMessenger
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.lilith.messaging.uitests
|
|
GENERATE_INFOPLIST_FILE: "YES"
|
|
TEST_TARGET_NAME: LilithMessenger
|
|
CODE_SIGN_IDENTITY: "-"
|
|
CODE_SIGN_STYLE: Manual
|
|
|
|
schemes:
|
|
LilithMessenger:
|
|
build:
|
|
targets:
|
|
LilithMessengerShared: all
|
|
LilithMessenger: all
|
|
LilithMessengerTests: [test]
|
|
LilithMessengerUITests: [test]
|
|
run:
|
|
config: Debug
|
|
simulateLocation: false
|
|
commandLineArguments:
|
|
"--dev": false
|
|
test:
|
|
config: Debug
|
|
gatherCoverageData: true
|
|
targets:
|
|
- LilithMessengerTests
|
|
- LilithMessengerUITests
|
|
profile:
|
|
config: Release
|
|
analyze:
|
|
config: Debug
|
|
archive:
|
|
config: Release
|
|
|
|
LilithMessengerWatch:
|
|
build:
|
|
targets:
|
|
LilithMessengerShared: all
|
|
LilithMessengerWatch: all
|
|
LilithMessengerWatchWidgets: all
|
|
run:
|
|
config: Debug
|
|
profile:
|
|
config: Release
|
|
analyze:
|
|
config: Debug
|
|
archive:
|
|
config: Release
|