element-x-ios/ElementX/SupportingFiles/target.yml

154 lines
4.5 KiB
YAML

name: ElementX
schemes:
ElementX:
analyze:
config: Debug
archive:
config: Release
build:
targets:
ElementX:
- running
- testing
- profiling
- analyzing
- archiving
profile:
config: Release
run:
config: Debug
environmentVariables:
- variable: RUST_BACKTRACE
value: full
isEnabled: false
- variable: HTTPS_PROXY
value: 192.168.0.111:9090
isEnabled: false
- variable: UI_TESTS_SCREEN
value: ""
isEnabled: false
test:
config: Debug
gatherCoverageData: true
coverageTargets:
- ElementX
targets:
- UnitTests
environmentVariables:
IS_RUNNING_UNIT_TESTS: "1"
targets:
ElementX:
type: application
platform: iOS
info:
path: ../SupportingFiles/Info.plist
properties:
UILaunchStoryboardName: LaunchScreen
CFBundleDisplayName: $(PRODUCT_NAME)
CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
UISupportedInterfaceOrientations: [
UIInterfaceOrientationPortrait,
UIInterfaceOrientationPortraitUpsideDown,
UIInterfaceOrientationLandscapeLeft,
UIInterfaceOrientationLandscapeRight
]
appGroupIdentifier: $(APP_GROUP_IDENTIFIER)
baseBundleIdentifier: $(BASE_BUNDLE_IDENTIFIER)
keychainAccessGroupIdentifier: $(KEYCHAIN_ACCESS_GROUP_IDENTIFIER)
ITSAppUsesNonExemptEncryption: false
NSUserActivityTypes: [
INSendMessageIntent
]
settings:
base:
PRODUCT_NAME: ElementX
PRODUCT_BUNDLE_IDENTIFIER: $(BASE_BUNDLE_IDENTIFIER)
MARKETING_VERSION: $(MARKETING_VERSION)
CURRENT_PROJECT_VERSION: $(CURRENT_PROJECT_VERSION)
DEVELOPMENT_TEAM: $(DEVELOPMENT_TEAM)
CODE_SIGN_ENTITLEMENTS: ElementX/SupportingFiles/ElementX.entitlements
SWIFT_OBJC_BRIDGING_HEADER: ElementX/SupportingFiles/ElementX-Bridging-Header.h
SWIFT_OBJC_INTERFACE_HEADER_NAME: GeneratedInterface-Swift.h
preBuildScripts:
- name: 🛠 SwiftGen
runOnlyWhenInstalling: false
basedOnDependencyAnalysis: false
shell: /bin/sh
script: |
export PATH="$PATH:/opt/homebrew/bin"
if which swiftgen >/dev/null; then
swiftgen config run --config Tools/SwiftGen/swiftgen-config.yml
else
echo "warning: SwiftGen not installed, download from https://github.com/SwiftGen/SwiftGen"
fi
- name: 🧙 Sourcery
runOnlyWhenInstalling: false
basedOnDependencyAnalysis: false
shell: /bin/sh
script: |
export PATH="$PATH:/opt/homebrew/bin"
if which sourcery >/dev/null; then
sourcery --config Tools/Sourcery/sourcery_automockable_config.yml
else
echo "warning: Sourcery not installed, run swift run tools setup-project"
fi
postBuildScripts:
- name: ⚠️ SwiftLint
runOnlyWhenInstalling: false
basedOnDependencyAnalysis: false
shell: /bin/sh
script: |
export PATH="$PATH:/opt/homebrew/bin"
if which swiftlint >/dev/null; then
swiftlint
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi
- name: 🧹 SwiftFormat
runOnlyWhenInstalling: false
basedOnDependencyAnalysis: false
shell: /bin/sh
script: |
export PATH="$PATH:/opt/homebrew/bin"
if which swiftformat >/dev/null; then
swiftformat --lint --lenient "$PROJECT_DIR"
else
echo "warning: SwiftFormat not installed, download from https://github.com/nicklockwood/SwiftFormat"
fi
dependencies:
- target: NSE
- package: MatrixRustSDK
- package: DesignKit
- package: Compound
- package: Algorithms
- package: AnalyticsEvents
- package: AppAuth
- package: Collections
- package: DeviceKit
- package: DTCoreText
- package: KeychainAccess
- package: Kingfisher
- package: KZFileWatchers
- package: PostHog
- package: SwiftyBeaver
- package: SwiftState
- package: GZIP
- package: Sentry
- package: Version
sources:
- path: ../Sources
excludes:
- Other/Extensions/XCUIElement.swift
- path: ../Resources
- path: ../SupportingFiles
- path: ../../Tools/Scripts/Templates/SimpleScreenExample/ElementX