Files
Luma/project.yml
wt de61940c95
Build Unsigned iOS ipa / Build Unsigned iOS IPA (push) Canceled after 0s
Build Unsigned macOS App / Build macOS ZIP (push) Canceled after 0s
iOS CI / Build and Test SwiftUI App (push) Canceled after 0s
fix some #4
2026-09-27 23:25:16 +07:00

256 lines
8.7 KiB
YAML

name: Luma
options:
bundleIdPrefix: app.luma
createIntermediateGroups: true
developmentLanguage: ru
indentWidth: 4
tabWidth: 4
xcodeVersion: "16.0"
configs:
Debug: debug
Release: release
settings:
base:
SWIFT_VERSION: 5.9
CURRENT_PROJECT_VERSION: 31
MARKETING_VERSION: 0.10.6
ENABLE_USER_SCRIPT_SANDBOXING: true
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED: true
COMPANION_BUNDLE_IDENTIFIER: app.luma.chat
configs:
Debug:
SWIFT_ACTIVE_COMPILATION_CONDITIONS: DEBUG
Release:
SWIFT_COMPILATION_MODE: wholemodule
packages:
Martin:
url: https://github.com/tigase/Martin.git
exactVersion: 3.2.4
MartinOMEMO:
path: ThirdParty/MartinOMEMO
WebRTC:
url: https://github.com/stasel/WebRTC.git
exactVersion: 150.0.0
OpenSSL:
url: https://github.com/krzyzanowskim/OpenSSL.git
from: 3.4.0
# SwiftChat:
# url: https://github.com/unionst/swift-chat.git
# from: 1.0.0
targets:
Luma:
type: application
platform: iOS
deploymentTarget: "26.0"
sources:
- path: Sources/App
- path: Sources/Shared
- path: Resources/Shared.xcassets
buildPhase: resources
- path: Resources/AppAssets.xcassets
buildPhase: resources
dependencies:
- package: Martin
- package: MartinOMEMO
- package: WebRTC
- package: OpenSSL
# - package: SwiftChat
info:
path: Config/Luma-Info.plist
properties:
CFBundleDisplayName: Luma
CFBundleIconName: AppIcon
CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
UILaunchScreen: {}
UISupportedInterfaceOrientations:
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
UISupportedInterfaceOrientations~ipad:
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
UIBackgroundModes:
- audio
- fetch
- remote-notification
UISupportsDocumentBrowser: false
UIApplicationSupportsIndirectInputEvents: true
NSCameraUsageDescription: Luma использует камеру для фотографий, видеосообщений и видеозвонков.
NSMicrophoneUsageDescription: Luma использует микрофон для голосовых сообщений и звонков.
NSLocalNetworkUsageDescription: Luma использует локальную сеть для прямого соединения аудио- и видеозвонков.
NSLocationWhenInUseUsageDescription: Luma использует геопозицию только когда вы выбираете отправку точки в чате.
NSFaceIDUsageDescription: Luma использует Face ID для разблокировки приложения.
NSPhotoLibraryAddUsageDescription: Luma сохраняет фотографии и видео в вашу медиатеку.
entitlements:
path: Config/Luma.entitlements
properties: {}
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: $(COMPANION_BUNDLE_IDENTIFIER)
PRODUCT_NAME: Luma
TARGETED_DEVICE_FAMILY: "1,2"
# The remaining diagnostics come from APIs that Martin still requires
# for XMPP/TLS compatibility (QueueDispatcher and SecureTransport).
SWIFT_SUPPRESS_WARNINGS: true
SUPPORTS_MACCATALYST: false
DEVELOPMENT_TEAM: K3AS449A74
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: AccentColor
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS: true
INFOPLIST_KEY_CFBundleIconName: AppIcon
LumaMac:
type: application
platform: macOS
deploymentTarget: "26.0"
sources:
- path: Sources/App
- path: Sources/Shared
- path: Resources/Shared.xcassets
buildPhase: resources
- path: Resources/AppAssets.xcassets
buildPhase: resources
dependencies:
- package: Martin
- package: MartinOMEMO
- package: WebRTC
- package: OpenSSL
info:
path: Config/LumaMac-Info.plist
properties:
CFBundleDisplayName: Luma
CFBundleIconName: AppIcon
CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
LSApplicationCategoryType: public.app-category.social-networking
NSHighResolutionCapable: true
NSCameraUsageDescription: Luma использует камеру для фотографий, видеосообщений и видеозвонков.
NSMicrophoneUsageDescription: Luma использует микрофон для голосовых сообщений и звонков.
NSLocationUsageDescription: Luma использует геопозицию только когда вы выбираете отправку точки в чате.
NSFaceIDUsageDescription: Luma использует Touch ID для разблокировки приложения.
entitlements:
path: Config/LumaMac.entitlements
properties:
com.apple.security.app-sandbox: true
com.apple.security.network.client: true
com.apple.security.network.server: true
com.apple.security.files.user-selected.read-only: true
com.apple.security.files.user-selected.read-write: true
com.apple.security.device.camera: true
com.apple.security.device.audio-input: true
com.apple.security.personal-information.location: true
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: app.luma.chat.macos
PRODUCT_NAME: Luma
DEVELOPMENT_TEAM: K3AS449A74
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: AccentColor
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS: true
INFOPLIST_KEY_CFBundleIconName: AppIcon
LumaWatch:
# Xcode 14+ single-target watchOS app. `application.watchapp2` is the
# legacy container that expects a separate WatchKit extension; compiling
# our SwiftUI @main sources into it makes the linker and WatchKit stub both
# try to produce Luma.app/Luma.
type: application
platform: watchOS
deploymentTarget: "26.0"
sources:
- path: Sources/Watch
- path: Resources/Shared.xcassets
buildPhase: resources
- path: Resources/AppAssets.xcassets
buildPhase: resources
info:
path: Config/LumaWatch-Info.plist
properties:
CFBundleName: Luma
CFBundleDisplayName: Luma
CFBundleIconName: AppIcon
CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
NSMicrophoneUsageDescription: Luma использует микрофон Apple Watch для голосовых сообщений.
WKApplication: true
WKCompanionAppBundleIdentifier: $(COMPANION_BUNDLE_IDENTIFIER)
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: app.luma.chat.watchkitapp
# Keep the bundle filename distinct from the companion Luma.app while
# preserving the user-facing name through CFBundleDisplayName.
PRODUCT_NAME: LumaWatch
GENERATE_INFOPLIST_FILE: NO
TARGETED_DEVICE_FAMILY: "4"
DEVELOPMENT_TEAM: K3AS449A74
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: AccentColor
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS: true
INFOPLIST_KEY_CFBundleIconName: AppIcon
LumaTests:
type: bundle.unit-test
platform: iOS
deploymentTarget: "26.0"
sources:
- path: Tests
dependencies:
- target: Luma
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: app.luma.chat.tests
GENERATE_INFOPLIST_FILE: true
LumaUITests:
type: bundle.ui-testing
platform: iOS
deploymentTarget: "26.0"
sources:
- path: UITests
dependencies:
- target: Luma
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: app.luma.chat.uitests
GENERATE_INFOPLIST_FILE: true
schemes:
Luma:
build:
targets:
Luma: all
LumaTests: [test]
run:
config: Debug
test:
config: Debug
targets:
- LumaTests
- LumaUITests
archive:
config: Release
LumaMac:
build:
targets:
LumaMac: all
run:
config: Debug
archive:
config: Release
LumaWatch:
build:
targets:
LumaWatch: all
run:
config: Debug
archive:
config: Release