name: RiotTests

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

targets:
  RiotTests:
    type: bundle.unit-test
    platform: iOS

    dependencies:
    - target: Riot
    - package: AnalyticsEvents

    configFiles:
      Debug: Debug.xcconfig
      Release: Release.xcconfig

    settings:
      base:
        BUNDLE_LOADER: $(TEST_HOST)
        FRAMEWORK_SEARCH_PATHS: $(SDKROOT)/Developer/Library/Frameworks $(inherited)
        INFOPLIST_FILE: RiotTests/Info.plist
        LD_RUNPATH_SEARCH_PATHS: $(inherited) @executable_path/Frameworks @loader_path/Frameworks
        PRODUCT_BUNDLE_IDENTIFIER: org.matrix.$(PRODUCT_NAME:rfc1034identifier)
        PRODUCT_NAME: RiotTests
        SWIFT_OBJC_BRIDGING_HEADER: RiotTests/RiotTests-Bridging-Header.h
        TEST_HOST: $(BUILT_PRODUCTS_DIR)/Element.app/Element
      configs:
        Debug:
        Release:
          PROVISIONING_PROFILE: $(RIOT_PROVISIONING_PROFILE)
          PROVISIONING_PROFILE_SPECIFIER: $(RIOT_PROVISIONING_PROFILE_SPECIFIER)

    sources:
    - path: .
    - path: ../Config/Configurable.swift
    - path: ../Config/BuildSettings.swift
    - path: ../Config/BWIBuildSettings.swift
    - path: ../Config/BuM/BWIBuildSettings+BuM.swift
    - path: ../Config/AppConfiguration.swift
    - path: ../Config/CommonConfiguration.swift
    - path: ../Riot/Categories/Bundle.swift
    - path: ../Riot/Managers/AppInfo/AppInfo.swift
    - path: ../Riot/Managers/AppInfo/AppVersion.swift
    - path: ../Riot/Managers/Settings/RiotSettings.swift
    - path: ../Riot/Managers/EncryptionKeyManager/EncryptionKeyManager.swift
    - path: ../bwi/SecureStorage/
    - path: ../Riot/PropertyWrappers/UserDefaultsBackedPropertyWrapper.swift
    - path: ../bwi/Tests/BWIAnalyticsTests.swift
    - path: ../Riot/Modules/Room/TimelineCells/Styles/RoomTimelineStyleIdentifier.swift
    - path: ../Riot/Modules/Room/EventMenu/EventMenuBuilder.swift
    - path: ../Riot/Modules/Room/EventMenu/EventMenuItemType.swift
    - path: ../Riot/Modules/VoiceBroadcast/VoiceBroadcastSDK/MatrixSDK/VoiceBroadcastSettings.swift
