name: BuM-Beta

schemes:
  BuM-Beta:
    analyze:
      config: Debug
    archive:
      config: Release
    build:
      targets:
        BuM-Beta:
        - running
        - testing
        - profiling
        - analyzing
        - archiving
    profile:
      config: Release
    run:
      config: Debug
      disableMainThreadChecker: true
    test:
      config: Debug
      disableMainThreadChecker: true
      gatherCoverageData: true
      language: "de"
      region: "DE"
      environmentVariables:
        username:
        defaultpin:
        defaultpassphrase:
        defaultpassword:
      targets:
      - RiotTests

targets:
  BuM-Beta:
    type: application
    platform: iOS

    dependencies:
    - target: RiotNSE
    - target: DesignKit
    - target: CommonKit
    - package: AnalyticsEvents
    - package: Mapbox
    - package: OrderedCollections
    - package: SwiftOGG
    - package: Lottie
    - package: WysiwygComposer
    - package: DeviceKit
    - package: DTCoreText

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

    preBuildScripts:
    - name: ⚠️ SwiftLint
      runOnlyWhenInstalling: false
      shell: /bin/sh
      script: "${PODS_ROOT}/SwiftLint/swiftlint\n"
    - name: 🛠 SwiftGen
      runOnlyWhenInstalling: false
      shell: /bin/sh
      script: "${PODS_ROOT}/SwiftGen/bin/swiftgen config run --config Tools/SwiftGen/swiftgen-config.yml\n"

    sources:
    - path: ../RiotSwiftUI/Modules
      # Riot will provide it's own LocaleProviderType so exclude.
      # Riot will provide it's own LocaleProviderType so exclude.
      excludes:
      - "Common/Locale/LocaleProvider.swift"
      - "**/Test/**"
    - path: ../Tools
      excludes:
        - "Logs"
        - "Release"
        - "Templates/*.sh"
    - path: ../Config
      excludes:
        - "AppIdentifiers.xcconfig"
        - "BuM"
        - "BuM-Open"
        - "*.sh"
    - path: .
      excludes:
        - "Modules/Room/EmojiPicker/Data/EmojiMart/EmojiJSONStore.swift"
        - "Modules/Analytics/Test/Unit/BWIAnalyticsTests.swift"
        - "**/*.strings" # Exclude all strings files
    - path: ../bwi
      excludes:
        - "Tests"
    - path: ../RiotShareExtension/Shared
    - path: Modules/MatrixKit
      excludes:
        - "**/*.md" # excludes all files with the .md extension
    # Add separately localizable files
    # Once a language has enough translations (>80%), it must be declared here
    - path: Assets/en.lproj/InfoPlist.strings
    - path: Assets/en.lproj/Localizable.strings
    - path: Assets/en.lproj/Vector.strings
    - path: Assets/en.lproj/Bwi.strings
    - path: Assets/de.lproj/InfoPlist.strings
    - path: Assets/de.lproj/Localizable.strings
    - path: Assets/de.lproj/Vector.strings
    - path: Assets/de.lproj/Bwi.strings
