name: RiotSwiftUI

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

targets:
  RiotSwiftUI:
    type: application
    platform: iOS
    dependencies:
    - target: DesignKit
    - package: AnalyticsEvents
    - package: Mapbox
    - package: WysiwygComposer
    sources:
    - path: .
      excludes:
      # Don't include service implementations and coordinator/bridges in target.
      - "**/MatrixSDK/**"
      - "**/Coordinator/**"
      - "**/Test/**"
    - path: ../Riot/Managers/AppInfo/
    - path: ../Riot/Categories/Bundle.swift
    - path: ../Riot/Generated/Strings.swift
    - path: ../Riot/Generated/BWIStrings.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/BWIBuildSettings.swift
    - path: ../Config/BuM/BWIBuildSettings+BuM.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
    configFiles:
      Debug: Debug.xcconfig
      Release: Release.xcconfig

    postBuildScripts:
    - name: 🧹 SwiftFormat
      runOnlyWhenInstalling: false
      shell: /bin/sh
      script: "\"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" --lint --lenient \"$PROJECT_DIR\"\n"
