name: BitwardenKit fileGroups: - Configs configs: Debug: debug Release: release include: - path: project-common.yml settings: MARKETING_VERSION: 2024.6.0 # Bump this for a new version update. CURRENT_PROJECT_VERSION: 1 packages: SwiftUIIntrospect: url: https://github.com/siteline/SwiftUI-Introspect exactVersion: 1.3.0 schemes: AuthenticatorBridgeKit: build: targets: AuthenticatorBridgeKit: all AuthenticatorBridgeKitTests: [test] test: gatherCoverageData: true targets: - AuthenticatorBridgeKitTests BitwardenKit: build: targets: BitwardenKit: all BitwardenKitTests: [test] BitwardenKitSnapshotTests: [test] BitwardenKitViewInspectorTests: [test] test: gatherCoverageData: true targets: - BitwardenKitTests - BitwardenKitSnapshotTests - BitwardenKitViewInspectorTests testPlans: - path: TestPlans/BitwardenKit-Default.xctestplan defaultPlan: true - path: TestPlans/BitwardenKit-Unit.xctestplan - path: TestPlans/BitwardenKit-Snapshot.xctestplan - path: TestPlans/BitwardenKit-ViewInspector.xctestplan BitwardenResources: build: targets: BitwardenResources: all Networking: build: targets: Networking: all NetworkingTests: [test] test: gatherCoverageData: true targets: - NetworkingTests targets: AuthenticatorBridgeKit: type: framework platform: iOS configFiles: Debug: Configs/AuthenticatorBridgeKit.xcconfig Release: Configs/AuthenticatorBridgeKit.xcconfig settings: base: APPLICATION_EXTENSION_API_ONLY: true INFOPLIST_FILE: AuthenticatorBridgeKit/Info.plist SWIFT_STRICT_CONCURRENCY: complete sources: - path: AuthenticatorBridgeKit excludes: - "**/Fixtures/*" - "**/Mocks/*" - "**/Tests/*" - "**/*Tests.*" - "**/TestHelpers/*" dependencies: - target: BitwardenKit AuthenticatorBridgeKitTests: type: bundle.unit-test platform: iOS settings: base: INFOPLIST_FILE: AuthenticatorBridgeKit/Tests/TestHelpers/Support/Info.plist SWIFT_STRICT_CONCURRENCY: complete sources: - path: AuthenticatorBridgeKit includes: - "**/Tests/*" - "**/*Tests.*" - "**/TestHelpers/*" dependencies: - target: AuthenticatorBridgeKit - target: AuthenticatorBridgeKitMocks - target: BitwardenKit - target: BitwardenKitMocks - target: TestHelpers randomExecutionOrder: true AuthenticatorBridgeKitMocks: type: framework platform: iOS settings: base: ENABLE_TESTING_SEARCH_PATHS: YES INFOPLIST_FILE: AuthenticatorBridgeKit/MocksInfo.plist SWIFT_STRICT_CONCURRENCY: complete sources: - path: AuthenticatorBridgeKit includes: - "**/Fixtures/*" - "**/Mocks/*" dependencies: - target: AuthenticatorBridgeKit - target: BitwardenKit - target: TestHelpers BitwardenKit: type: framework platform: iOS configFiles: Debug: Configs/BitwardenKit-Debug.xcconfig Release: Configs/BitwardenKit-Release.xcconfig settings: base: APPLICATION_EXTENSION_API_ONLY: true INFOPLIST_FILE: BitwardenKit/Info.plist sources: - path: BitwardenKit excludes: - "**/Fixtures/*" - "**/Mocks/*" - "**/*Tests.*" - "**/TestHelpers/*" - "**/__Snapshots__/*" - "**/Sourcery/Generated/*" - "**/sourcery.yml" - path: BitwardenKit includes: - "**/__Snapshots__/*" - "**/GoogleService-Info.*.plist" - "**/sourcery.yml" buildPhase: none dependencies: - package: BitwardenSdk - package: SwiftUIIntrospect - target: BitwardenResources - target: Networking preBuildScripts: - name: Sourcery script: | if [[ ! "$PATH" =~ "/opt/homebrew/bin" ]]; then PATH="/opt/homebrew/bin:$PATH" fi mint run sourcery --config BitwardenKit/Sourcery/sourcery.yml basedOnDependencyAnalysis: false outputFiles: - $(SRCROOT)/BitwardenKit/Sourcery/Generated/AutoMockable.generated.swift BitwardenKitMocks: type: framework platform: iOS settings: base: ENABLE_TESTING_SEARCH_PATHS: YES INFOPLIST_FILE: BitwardenKit/Application/Mocks/Support/Info.plist sources: - path: BitwardenKit includes: - "**/Fixtures/*" - "**/Mocks/*" - path: BitwardenKit/Sourcery/Generated/AutoMockable.generated.swift optional: true dependencies: - target: BitwardenKit - target: TestHelpers BitwardenKitTests: type: bundle.unit-test platform: iOS settings: base: INFOPLIST_FILE: BitwardenKit/Application/TestHelpers/Support/Info.plist sources: - path: BitwardenKit includes: - "**/*Tests.*" - "**/TestHelpers/*" excludes: - "**/*SnapshotTests.*" - "**/*ViewInspectorTests.*" dependencies: - target: AuthenticatorBridgeKitMocks - target: BitwardenKit - target: BitwardenKitMocks - target: TestHelpers - package: BitwardenSdk - package: SnapshotTesting product: InlineSnapshotTesting randomExecutionOrder: true BitwardenKitSnapshotTests: type: bundle.unit-test platform: iOS settings: base: INFOPLIST_FILE: BitwardenKit/Application/TestHelpers/Support/Info.plist sources: - path: BitwardenKit includes: - "**/*SnapshotTests.*" - "**/TestHelpers/*" dependencies: - target: AuthenticatorBridgeKitMocks - target: BitwardenKit - target: BitwardenKitMocks - target: TestHelpers - package: SnapshotTesting randomExecutionOrder: true BitwardenKitViewInspectorTests: type: bundle.unit-test platform: iOS settings: base: INFOPLIST_FILE: BitwardenKit/Application/TestHelpers/Support/Info.plist sources: - path: BitwardenKit includes: - "**/*ViewInspectorTests.*" - "**/TestHelpers/*" dependencies: - target: AuthenticatorBridgeKitMocks - target: BitwardenKit - target: BitwardenKitMocks - target: TestHelpers - target: ViewInspectorTestHelpers - package: ViewInspector randomExecutionOrder: true BitwardenResources: type: framework platform: iOS configFiles: Debug: Configs/BitwardenResources-Debug.xcconfig Release: Configs/BitwardenResources-Release.xcconfig settings: base: APPLICATION_EXTENSION_API_ONLY: true INFOPLIST_FILE: BitwardenResources/Info.plist sources: - path: BitwardenResources - path: BitwardenResources/Generated/Fonts.swift optional: true - path: BitwardenResources/Generated/Localizations.swift optional: true - path: BitwardenResources/Generated/SharedAssets.swift optional: true preBuildScripts: - name: SwiftGen script: | if [[ ! "$PATH" =~ "/opt/homebrew/bin" ]]; then PATH="/opt/homebrew/bin:$PATH" fi mint run swiftgen config run --config "swiftgen-bwr.yml" basedOnDependencyAnalysis: false outputFiles: - $(SRCROOT)/BitwardenResources/Generated/Fonts.swift - $(SRCROOT)/BitwardenResources/Generated/Localizations.swift - $(SRCROOT)/BitwardenResources/Generated/SharedAssets.swift Networking: type: framework platform: iOS configFiles: Debug: Configs/Networking.xcconfig Release: Configs/Networking.xcconfig settings: base: APPLICATION_EXTENSION_API_ONLY: true INFOPLIST_FILE: Networking/Info.plist SWIFT_STRICT_CONCURRENCY: complete sources: - path: Networking excludes: - "**/Tests/*" NetworkingTests: type: bundle.unit-test platform: iOS settings: base: INFOPLIST_FILE: Networking/Tests/NetworkingTests/Support/Info.plist sources: - path: Networking includes: - "**/Tests/*" dependencies: - target: Networking randomExecutionOrder: true TestHelpers: type: framework platform: iOS settings: base: ENABLE_TESTING_SEARCH_PATHS: YES INFOPLIST_FILE: TestHelpers/Info.plist sources: - path: TestHelpers excludes: - "**/Info.plist" dependencies: - target: Networking - package: SnapshotTesting ViewInspectorTestHelpers: type: framework platform: iOS settings: base: ENABLE_TESTING_SEARCH_PATHS: YES GENERATE_INFOPLIST_FILE: YES sources: - path: ViewInspectorTestHelpers dependencies: - package: ViewInspector