name: RiotSwiftUITests

schemes:
  RiotSwiftUITests:
    analyze:
      config: Debug
    archive:
      config: Release
    build:
      targets:
        RiotSwiftUITests:
        - running
        - testing
        - profiling
        - analyzing
        - archiving
    profile:
      config: Release
    run:
      config: Debug
      disableMainThreadChecker: true
    test:
      config: Debug
      disableMainThreadChecker: true
      targets:
      - RiotSwiftUITests
      gatherCoverageData: true
      coverageTargets:
        - RiotSwiftUI

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

    dependencies:
    - target: RiotSwiftUI
    - package: AnalyticsEvents
    - package: WysiwygComposer
  
    settings:
      base:
        TEST_TARGET_NAME: RiotSwiftUI
        PRODUCT_BUNDLE_IDENTIFIER: org.matrix.RiotSwiftUITests$(rfc1034identifier)
        SWIFT_OBJC_BRIDGING_HEADER: $(SRCROOT)/RiotSwiftUI/RiotSwiftUI-Bridging-Header.h
        SWIFT_OBJC_INTERFACE_HEADER_NAME: GeneratedInterface-Swift.h
        GENERATE_INFOPLIST_FILE: YES
    sources:
      # Source included/excluded here here are similar to RiotSwiftUI as we
      # need access to ScreenStates
    - path: ../RiotSwiftUI/Modules
      excludes:
      - "**/MatrixSDK/**"
      - "**/Coordinator/**"
      - "**/Test/Unit/**"
    - path: ../Riot/Managers/AppInfo/
    - path: ../Riot/Categories/Bundle.swift
    - path: ../Riot/Generated/Strings.swift
    - path: ../Riot/Generated/UntranslatedStrings.swift
    - path: ../Riot/Generated/Images.swift
    - path: ../Riot/Managers/Theme/
    - path: ../Riot/Managers/Locale/LocaleProviderType.swift
    - path: ../Config/BuildSettings.swift
    - path: ../Config/MDMSettings.swift
    - path: ../Riot/Modules/Room/TimelineCells/Styles/RoomTimelineStyleIdentifier.swift
    - path: ../Riot/Categories/String.swift
    - path: ../Riot/Categories/Character.swift
    - path: ../Riot/Categories/UIColor.swift
    - path: ../Riot/Categories/UISearchBar.swift
    - path: ../Riot/Categories/UIView.swift
    - path: ../Riot/Categories/UIApplication.swift
    - path: ../Riot/Categories/Codable.swift
    - path: ../Riot/Assets/en.lproj/Vector.strings
    - path: ../Riot/Modules/Analytics/AnalyticsScreen.swift
    - path: ../Riot/Modules/LocationSharing/LocationAuthorizationStatus.swift
    - path: ../Riot/Modules/QRCode/QRCodeGenerator.swift
    - path: ../Riot/Modules/VoiceBroadcast/VoiceBroadcastSDK/MatrixSDK/VoiceBroadcastInfoState.swift
    - path: ../Riot/Assets/en.lproj/Untranslated.strings
      buildPhase: resources
    - path: ../Riot/Assets/Images.xcassets
      buildPhase: resources
    - path: ../Riot/Assets/SharedImages.xcassets
      buildPhase: resources
