name: UITests

schemes:
  UITests:
    analyze:
      config: Debug
    archive:
      config: Release
    build:
      targets:
        UITests: all
    profile:
      config: Release
    run:
      config: Debug
      disableMainThreadChecker: false
    test:
      config: Debug
      testPlans:
        - path: UITests.xctestplan
          defaultPlan: true

targets:
  UITests:
    type: bundle.ui-testing
    platform: iOS

    dependencies:
    - target: ElementX
    - package: MatrixRustSDK
    - package: AnalyticsEvents
    - package: DeviceKit
    - package: DTCoreText
    - package: KeychainAccess
    - package: Kingfisher
    - package: KZFileWatchers
    - package: PostHog
    - package: SwiftState
    - package: GZIP
    - package: Sentry
    - package: SnapshotTesting
    - package: Collections
    - package: SwiftOGG

    info:
      path: ../SupportingFiles/Info.plist

    settings:
      base:
        PRODUCT_NAME: UITests
        PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}.ui.tests
      debug:
      release:

    sources:
    - path: ../Sources
      excludes:
        - "**/__Snapshots__/**"
    - path: ../SupportingFiles
    - path: ../../ElementX/Sources/Other/AccessibilityIdentifiers.swift
    - path: ../../ElementX/Sources/Other/Extensions/Bundle.swift
    - path: ../../ElementX/Sources/Other/Extensions/XCUIElement.swift
    - path: ../../ElementX/Sources/UITests/UITestsScreenIdentifier.swift
    - path: ../../ElementX/Sources/UITests/UITestsSignalling.swift
    - path: ../../Tools/Scripts/Templates/SimpleScreenExample/Tests/UI
