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 - variable: RESET_APP_SETTINGS value: "true" isEnabled: false test: config: Debug gatherCoverageData: true coverageTargets: - ElementX testPlans: - path: ../../UnitTests/SupportingFiles/UnitTests.xctestplan defaultPlan: true targets: ElementX: type: application platform: iOS configFiles: Debug: ../SupportingFiles/secrets.xcconfig Release: ../SupportingFiles/secrets.xcconfig info: path: ../SupportingFiles/Info.plist properties: UILaunchScreen: UIColorName: colors/background-color CFBundleDisplayName: $(APP_DISPLAY_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 ] NSCameraUsageDescription: To take pictures or videos and send them as a message $(APP_DISPLAY_NAME) needs access to the camera. NSMicrophoneUsageDescription: To take videos with audio and send them as a message $(APP_DISPLAY_NAME) needs access to the microphone. NSPhotoLibraryAddUsageDescription: Allows saving photos and videos to your library. NSLocationWhenInUseUsageDescription: When you share your location to people, $(APP_DISPLAY_NAME) needs access to show them a map. UIBackgroundModes: [ fetch ] BGTaskSchedulerPermittedIdentifiers: [ io.element.elementx.background.refresh ] mapLibreAPIKey: $(MAPLIBRE_API_KEY) settings: base: PRODUCT_NAME: $(APP_NAME) 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: Collections - package: DeviceKit - package: DTCoreText - package: KeychainAccess - package: Kingfisher - package: KZFileWatchers - package: Mapbox - package: PostHog - package: SwiftState - package: GZIP - package: Sentry - package: URLRouting - package: Version sources: - path: ../Sources excludes: - Other/Extensions/XCUIElement.swift - path: ../Resources - path: ../SupportingFiles - path: ../../Tools/Scripts/Templates/SimpleScreenExample/ElementX