Newer
Older
// swift-tools-version:5.6
name: "client-ios",
defaultLocalization: "en",
platforms: [
.iOS(.v14),
],
products: [
.library(name: "Shared", targets: ["Shared"]),
.library(name: "AppCore", targets: ["AppCore"]),
.library(name: "Defaults", targets: ["Defaults"]),
.library(name: "Keychain", targets: ["Keychain"]),
.library(name: "Voxophone", targets: ["Voxophone"]),
.library(name: "AppFeature", targets: ["AppFeature"]),
.library(name: "InputField", targets: ["InputField"]),
.library(name: "ScanFeature", targets: ["ScanFeature"]),
.library(name: "MenuFeature", targets: ["MenuFeature"]),
.library(name: "ChatFeature", targets: ["ChatFeature"]),
.library(name: "CrashReport", targets: ["CrashReport"]),
.library(name: "UpdateErrors", targets: ["UpdateErrors"]),
.library(name: "CheckVersion", targets: ["CheckVersion"]),
.library(name: "AppResources", targets: ["AppResources"]),
.library(name: "TermsFeature", targets: ["TermsFeature"]),
.library(name: "AppNavigation", targets: ["AppNavigation"]),
.library(name: "BackupFeature", targets: ["BackupFeature"]),
.library(name: "LaunchFeature", targets: ["LaunchFeature"]),
.library(name: "SearchFeature", targets: ["SearchFeature"]),
.library(name: "DrawerFeature", targets: ["DrawerFeature"]),
.library(name: "WebsiteFeature", targets: ["WebsiteFeature"]),
.library(name: "RestoreFeature", targets: ["RestoreFeature"]),
.library(name: "ProfileFeature", targets: ["ProfileFeature"]),
.library(name: "ContactFeature", targets: ["ContactFeature"]),
.library(name: "FetchBannedList", targets: ["FetchBannedList"]),
.library(name: "SettingsFeature", targets: ["SettingsFeature"]),
.library(name: "ChatListFeature", targets: ["ChatListFeature"]),
.library(name: "RequestsFeature", targets: ["RequestsFeature"]),
.library(name: "ReportingFeature", targets: ["ReportingFeature"]),
.library(name: "ChatInputFeature", targets: ["ChatInputFeature"]),
.library(name: "GroupDraftFeature", targets: ["GroupDraftFeature"]),
.library(name: "ProcessBannedList", targets: ["ProcessBannedList"]),
.library(name: "OnboardingFeature", targets: ["OnboardingFeature"]),
.library(name: "CreateGroupFeature", targets: ["CreateGroupFeature"]),
.library(name: "CountryListFeature", targets: ["CountryListFeature"]),
.library(name: "PermissionsFeature", targets: ["PermissionsFeature"]),
.library(name: "ContactListFeature", targets: ["ContactListFeature"]),
.library(name: "RequestPermissionFeature", targets: ["RequestPermissionFeature"]),
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
],
dependencies: [
.package(
url: "https://github.com/SnapKit/SnapKit",
.upToNextMajor(from: "5.0.1")
),
.package(
url: "https://github.com/icanzilb/Retry.git",
.upToNextMajor(from: "0.6.3")
),
.package(
url: "https://github.com/ekazaev/ChatLayout",
.upToNextMajor(from: "1.1.14")
),
.package(
url: "https://github.com/ra1028/DifferenceKit",
.upToNextMajor(from: "1.2.0")
),
.package(
url: "https://github.com/apple/swift-protobuf",
.upToNextMajor(from: "1.14.0")
),
.package(
url: "https://github.com/darrarski/ScrollViewController",
.upToNextMajor(from: "1.2.0")
),
.package(
url: "https://github.com/pointfreeco/combine-schedulers",
.upToNextMajor(from: "0.5.0")
),
.package(
url: "https://github.com/kishikawakatsumi/KeychainAccess",
.upToNextMajor(from: "4.2.1")
),
.package(
url: "https://git.xx.network/elixxir/elixxir-dapps-sdk-swift",
.upToNextMajor(from: "1.0.0")
),
.package(
url: "https://git.xx.network/elixxir/client-ios-db.git",
.upToNextMajor(from: "1.1.0")
),
.package(
url: "https://git.xx.network/elixxir/xxm-cloud-providers.git",
.upToNextMajor(from: "1.0.2")
),
.package(
url: "https://github.com/firebase/firebase-ios-sdk.git",
.upToNextMajor(from: "8.10.0")
),
.package(
url: "https://github.com/pointfreeco/swift-composable-architecture.git",
.upToNextMajor(from: "0.43.0")
),
.package(
url: "https://github.com/swiftcsv/SwiftCSV.git",
from: "0.8.0"
),
.package(
url: "https://github.com/apple/swift-log.git",
.upToNextMajor(from: "1.4.4")
),
.package(
url: "https://github.com/kean/Pulse.git",
.upToNextMajor(from: "2.1.3")
),
.package(
url: "https://github.com/pointfreeco/xctest-dynamic-overlay.git",
.upToNextMajor(from: "0.3.3")
),
],
targets: [
.target(
dependencies: [
.target(name: "Keychain"),
.target(name: "ScanFeature"),
.target(name: "ChatFeature"),
.target(name: "MenuFeature"),
.target(name: "CrashReport"),
.target(name: "TermsFeature"),
.target(name: "BackupFeature"),
.target(name: "SearchFeature"),
.target(name: "LaunchFeature"),
.target(name: "ContactFeature"),
.target(name: "WebsiteFeature"),
.target(name: "RestoreFeature"),
.target(name: "ProfileFeature"),
.target(name: "ChatListFeature"),
.target(name: "SettingsFeature"),
.target(name: "RequestsFeature"),
.target(name: "ReportingFeature"),
.target(name: "GroupDraftFeature"),
.target(name: "OnboardingFeature"),
.target(name: "CreateGroupFeature"),
.target(name: "ContactListFeature"),
.target(name: "RequestPermissionFeature"),
.product(name: "PulseUI", package: "Pulse"), // TO REMOVE
.product(name: "PulseLogHandler", package: "Pulse"), // TO REMOVE
]
),
.testTarget(
name: "AppFeatureTests",
dependencies: [
.target(name: "AppFeature"),
]
),
.target(
name: "AppCore",
dependencies: [
.target(name: "Shared"),
.target(name: "AppResources"),
.product(name: "SnapKit", package: "SnapKit"),
.product(name: "Logging", package: "swift-log"),
.product(name: "XXModels", package: "client-ios-db"),
.product(name: "XXDatabase", package: "client-ios-db"),
.product(name: "XXClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "XXMessengerClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"),
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
.target(
name: "CheckVersion",
dependencies: [
.product(
name: "Dependencies",
package: "swift-composable-architecture"
),
]
),
.target(
name: "Voxophone",
dependencies: [
.target(name: "Shared"),
]
),
.target(name: "WebsiteFeature"),
name: "CrashReport",
dependencies: [
.product(
name: "FirebaseCrashlytics",
package: "firebase-ios-sdk"
),
.product(
name: "Dependencies",
package: "swift-composable-architecture"
),
]
),
.target(
name: "AppNavigation",
dependencies: [
name: "XXModels",
package: "client-ios-db"
name: "Dependencies",
package: "swift-composable-architecture"
),
]
),
.target(
name: "CreateGroupFeature",
dependencies: [
.target(name: "AppCore")
]
),
.target(
name: "GroupDraftFeature",
dependencies: [
.target(name: "AppCore")
]
),
.target(
name: "PermissionsFeature",
dependencies: [
.product(
name: "XCTestDynamicOverlay",
package: "xctest-dynamic-overlay"
),
.product(
name: "Dependencies",
package: "swift-composable-architecture"
),
]
),
.target(
name: "AppResources",
resources: [
.process("Resources")
]
),
.target(
name: "InputField",
dependencies: [
.target(name: "Shared"),
]
),
.target(
name: "RequestPermissionFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "AppCore"),
.target(name: "AppResources"),
.target(name: "AppNavigation"),
.target(name: "PermissionsFeature"),
.product(
name: "Dependencies",
package: "swift-composable-architecture"
),
]
),
.target(
name: "Keychain",
dependencies: [
.product(
name: "KeychainAccess",
package: "KeychainAccess"
),
.product(
name: "Dependencies",
package: "swift-composable-architecture"
),
]
),
.target(
name: "Defaults",
dependencies: [
.product(
name: "Dependencies",
package: "swift-composable-architecture"
),
]
),
.target(
dependencies: [
.target(name: "Shared"),
.target(name: "AppCore")
]
),
.target(
name: "DrawerFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "InputField"),
.product(name: "ScrollViewController", package: "ScrollViewController"),
]
),
.target(
name: "Shared",
dependencies: [
.product(name: "SnapKit", package: "SnapKit"),
.product(name: "ChatLayout", package: "ChatLayout"),
.product(name: "DifferenceKit", package: "DifferenceKit"),
.product(name: "SwiftProtobuf", package: "swift-protobuf"),
],
resources: [
.process("Resources"),
]
),
.target(
name: "ChatInputFeature",
dependencies: [
.target(
name: "Voxophone"
),
.product(
name: "ComposableArchitecture",
package: "swift-composable-architecture"
),
]
),
.target(
name: "RestoreFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "AppCore"),
.product(name: "XXDatabase", package: "client-ios-db"),
.product(name: "XXClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "CloudFilesDrive", package: "xxm-cloud-providers"),
.product(name: "CloudFilesDropbox", package: "xxm-cloud-providers"),
.product(name: "CloudFilesSFTP", package: "xxm-cloud-providers"),
.product(name: "CloudFilesICloud", package: "xxm-cloud-providers"),
]
),
.target(
name: "ContactFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "InputField"),
.target(name: "ChatFeature"),
.product(name: "CombineSchedulers", package: "combine-schedulers"),
.product(name: "ScrollViewController", package: "ScrollViewController"),
]
),
.target(
name: "ChatFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "AppCore"),
.target(name: "Defaults"),
.target(name: "Keychain"),
.target(name: "Voxophone"),
.target(name: "DrawerFeature"),
.target(name: "ChatInputFeature"),
.target(name: "ReportingFeature"),
.target(name: "RequestPermissionFeature"),
.product(name: "ChatLayout", package: "ChatLayout"),
.product(name: "DifferenceKit", package: "DifferenceKit"),
.product(name: "XXClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "XXMessengerClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "ScrollViewController", package: "ScrollViewController"),
.product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"),
]
),
.target(
name: "SearchFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "ContactFeature"),
.target(name: "CountryListFeature"),
.product(name: "Retry", package: "Retry"),
.product(name: "XXDatabase", package: "client-ios-db"),
]
),
.target(
name: "LaunchFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "Defaults"),
.target(name: "UpdateErrors"),
.target(name: "CheckVersion"),
.target(name: "BackupFeature"),
.target(name: "FetchBannedList"),
.target(name: "ReportingFeature"),
.target(name: "ProcessBannedList"),
.target(name: "RequestPermissionFeature"),
.product(name: "XXClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "CloudFilesSFTP", package: "xxm-cloud-providers"),
.product(name: "CombineSchedulers", package: "combine-schedulers"),
.product(name: "CloudFilesDropbox", package: "xxm-cloud-providers"),
.product(name: "XXLegacyDatabaseMigrator", package: "client-ios-db"),
.product(name: "XXMessengerClient", package: "elixxir-dapps-sdk-swift"),
]
),
.target(
name: "TermsFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "Defaults"),
.target(name: "AppNavigation"),
.product(
name: "ComposableArchitecture",
package: "swift-composable-architecture"
),
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
]
),
.target(
name: "UpdateErrors",
dependencies: [
.product(
name: "XXClient",
package: "elixxir-dapps-sdk-swift"
),
.product(
name: "XCTestDynamicOverlay",
package: "xctest-dynamic-overlay"
),
.product(
name: "Dependencies",
package: "swift-composable-architecture"
),
]
),
.target(
name: "ProcessBannedList",
dependencies: [
.product(
name: "SwiftCSV",
package: "SwiftCSV"
),
.product(
name: "XCTestDynamicOverlay",
package: "xctest-dynamic-overlay"
),
.product(
name: "Dependencies",
package: "swift-composable-architecture"
),
]
),
.target(
name: "FetchBannedList",
dependencies: [
.product(
name: "XCTestDynamicOverlay",
package: "xctest-dynamic-overlay"
),
.product(
name: "Dependencies",
package: "swift-composable-architecture"
),
]
),
.target(
name: "RequestsFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "ContactFeature"),
.product(
name: "DifferenceKit",
package: "DifferenceKit"
),
]
),
.target(
name: "ProfileFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "Keychain"),
.target(name: "Defaults"),
.target(name: "InputField"),
.target(name: "MenuFeature"),
.target(name: "DrawerFeature"),
.target(name: "BackupFeature"),
.target(name: "CountryListFeature"),
.target(name: "RequestPermissionFeature"),
.product(name: "CombineSchedulers", package: "combine-schedulers"),
.product(name: "ScrollViewController", package: "ScrollViewController"),
.product(name: "XXClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "XXMessengerClient", package: "elixxir-dapps-sdk-swift"),
]
),
.target(
name: "ChatListFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "Defaults"),
.target(name: "MenuFeature"),
.target(name: "ChatFeature"),
.target(name: "ProfileFeature"),
.target(name: "SettingsFeature"),
.target(name: "ContactListFeature"),
.product(name: "DifferenceKit", package: "DifferenceKit"),
]
),
.target(
name: "OnboardingFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "Defaults"),
.target(name: "Keychain"),
.target(name: "InputField"),
.target(name: "DrawerFeature"),
.target(name: "AppNavigation"),
.target(name: "CountryListFeature"),
.target(name: "RequestPermissionFeature"),
.product(name: "CombineSchedulers", package: "combine-schedulers"),
.product(name: "ScrollViewController", package: "ScrollViewController"),
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
]
),
.target(
name: "MenuFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "AppCore"),
.target(name: "Defaults"),
.target(name: "DrawerFeature"),
.target(name: "ReportingFeature"),
.product(
name: "XXClient",
package: "elixxir-dapps-sdk-swift"
),
]
),
.target(
name: "BackupFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "InputField"),
.target(name: "DrawerFeature"),
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
.product(
name: "XXClient",
package: "elixxir-dapps-sdk-swift"
),
.product(
name: "CloudFilesSFTP",
package: "xxm-cloud-providers"
),
.product(
name: "CloudFilesDrive",
package: "xxm-cloud-providers"
),
.product(
name: "CloudFilesICloud",
package: "xxm-cloud-providers"
),
.product(
name: "CloudFilesDropbox",
package: "xxm-cloud-providers"
),
.product(
name: "XXMessengerClient",
package: "elixxir-dapps-sdk-swift"
),
.product(
name: "ComposableArchitecture",
package: "swift-composable-architecture"
),
]
),
.target(
name: "ScanFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "ContactFeature"),
.target(name: "CountryListFeature"),
.target(name: "RequestPermissionFeature"),
.product(name: "SnapKit", package: "SnapKit"),
]
),
.target(
name: "ContactListFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "ContactFeature"),
.product(name: "DifferenceKit", package: "DifferenceKit"),
]
),
.target(
name: "SettingsFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "Defaults"),
.target(name: "Keychain"),
.target(name: "InputField"),
.target(name: "MenuFeature"),
.target(name: "CrashReport"),
.target(name: "DrawerFeature"),
.target(name: "RequestPermissionFeature"),
.product(name: "CombineSchedulers", package: "combine-schedulers"),
.product(name: "ScrollViewController", package: "ScrollViewController"),
]
),
.target(
name: "ReportingFeature",
dependencies: [
.target(name: "DrawerFeature"),
.target(name: "Shared"),
.product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"),
],
resources: [
.process("Resources"),
]
),
]