Newer
Older
// swift-tools-version:5.6
let package = Package(
name: "client-ios",
defaultLocalization: "en",
platforms: [
.iOS(.v14),
],
products: [
.library(name: "App", targets: ["App"]),
.library(name: "HUD", targets: ["HUD"]),
.library(name: "Theme", targets: ["Theme"]),
.library(name: "Shared", targets: ["Shared"]),
.library(name: "Models", targets: ["Models"]),
.library(name: "XXLogger", targets: ["XXLogger"]),
.library(name: "Defaults", targets: ["Defaults"]),
.library(name: "Keychain", targets: ["Keychain"]),
.library(name: "Voxophone", targets: ["Voxophone"]),
.library(name: "Countries", targets: ["Countries"]),
.library(name: "InputField", targets: ["InputField"]),
.library(name: "TestHelpers", targets: ["TestHelpers"]),
.library(name: "ScanFeature", targets: ["ScanFeature"]),
.library(name: "Permissions", targets: ["Permissions"]),
.library(name: "MenuFeature", targets: ["MenuFeature"]),
.library(name: "ChatFeature", targets: ["ChatFeature"]),
.library(name: "PushFeature", targets: ["PushFeature"]),
.library(name: "SFTPFeature", targets: ["SFTPFeature"]),
.library(name: "CrashService", targets: ["CrashService"]),
.library(name: "TermsFeature", targets: ["TermsFeature"]),
.library(name: "Presentation", targets: ["Presentation"]),
.library(name: "ToastFeature", targets: ["ToastFeature"]),
.library(name: "BackupFeature", targets: ["BackupFeature"]),
.library(name: "LaunchFeature", targets: ["LaunchFeature"]),
.library(name: "iCloudFeature", targets: ["iCloudFeature"]),
.library(name: "SearchFeature", targets: ["SearchFeature"]),
.library(name: "DrawerFeature", targets: ["DrawerFeature"]),
.library(name: "CollectionView", targets: ["CollectionView"]),
.library(name: "RestoreFeature", targets: ["RestoreFeature"]),
.library(name: "CrashReporting", targets: ["CrashReporting"]),
.library(name: "ProfileFeature", targets: ["ProfileFeature"]),
.library(name: "ContactFeature", targets: ["ContactFeature"]),
.library(name: "NetworkMonitor", targets: ["NetworkMonitor"]),
.library(name: "DropboxFeature", targets: ["DropboxFeature"]),
.library(name: "VersionChecking", targets: ["VersionChecking"]),
.library(name: "SettingsFeature", targets: ["SettingsFeature"]),
.library(name: "ChatListFeature", targets: ["ChatListFeature"]),
.library(name: "RequestsFeature", targets: ["RequestsFeature"]),
.library(name: "ChatInputFeature", targets: ["ChatInputFeature"]),
.library(name: "OnboardingFeature", targets: ["OnboardingFeature"]),
.library(name: "GoogleDriveFeature", targets: ["GoogleDriveFeature"]),
.library(name: "ContactListFeature", targets: ["ContactListFeature"]),
.library(name: "DependencyInjection", targets: ["DependencyInjection"]),
.library(name: "ReportingFeature", targets: ["ReportingFeature"]),
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
.package(
url: "https://github.com/Quick/Quick",
.upToNextMajor(from: "3.0.0")
),
.package(
url: "https://github.com/Quick/Nimble",
.upToNextMajor(from: "9.0.0")
),
.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/google/GoogleSignIn-iOS",
.upToNextMajor(from: "6.1.0")
),
.package(
url: "https://github.com/dropbox/SwiftyDropbox.git",
.upToNextMajor(from: "8.2.1")
),
.package(
url: "https://github.com/amosavian/FileProvider.git",
.upToNextMajor(from: "0.26.0")
),
.package(
url: "https://github.com/SwiftyBeaver/SwiftyBeaver.git",
.upToNextMajor(from: "1.9.5")
),
.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://github.com/google/google-api-objectivec-client-for-rest",
.upToNextMajor(from: "1.6.0")
),
path: "../elixxir-dapps-sdk-swift"
// url: "https://git.xx.network/elixxir/elixxir-dapps-sdk-swift",
.package(
url: "https://git.xx.network/elixxir/client-ios-db.git",
),
.package(
url: "https://github.com/firebase/firebase-ios-sdk.git",
.upToNextMajor(from: "8.10.0")
),
.package(
url: "https://github.com/darrarski/Shout.git",
revision: "df5a662293f0ac15eeb4f2fd3ffd0c07b73d0de0"
),
.package(
url: "https://github.com/pointfreeco/swift-composable-architecture.git",
.upToNextMajor(from: "0.32.0")
),
.package(
url: "https://github.com/pointfreeco/swift-custom-dump.git",
.upToNextMajor(from: "0.5.0")
),
.package(
url: "https://github.com/swiftcsv/SwiftCSV.git",
from: "0.8.0"
),
.package(
url: "https://github.com/pointfreeco/xctest-dynamic-overlay.git",
.upToNextMajor(from: "0.3.3")
),
],
targets: [
.target(
name: "App",
dependencies: [
.target(name: "Keychain"),
.target(name: "Voxophone"),
.target(name: "Permissions"),
.target(name: "ScanFeature"),
.target(name: "ChatFeature"),
.target(name: "MenuFeature"),
.target(name: "PushFeature"),
.target(name: "SFTPFeature"),
.target(name: "ToastFeature"),
.target(name: "CrashService"),
.target(name: "BackupFeature"),
.target(name: "SearchFeature"),
.target(name: "LaunchFeature"),
.target(name: "iCloudFeature"),
.target(name: "DropboxFeature"),
.target(name: "ContactFeature"),
.target(name: "RestoreFeature"),
.target(name: "ProfileFeature"),
.target(name: "CrashReporting"),
.target(name: "ChatListFeature"),
.target(name: "SettingsFeature"),
.target(name: "RequestsFeature"),
.target(name: "ReportingFeature"),
.target(name: "OnboardingFeature"),
.target(name: "GoogleDriveFeature"),
.target(name: "ContactListFeature"),
]
),
.testTarget(
name: "AppTests",
dependencies: [
.target(name: "App"),
]
),
.target(
name: "CrashReporting"
),
.target(
name: "NetworkMonitor",
dependencies: [
.product(name: "XXClient", package: "elixxir-dapps-sdk-swift"),
]
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
),
.target(
name: "VersionChecking"
),
.target(
name: "DependencyInjection"
),
.testTarget(
name: "DependencyInjectionTests",
dependencies: [
.target(name: "DependencyInjection"),
]
),
.target(
name: "InputField",
dependencies: [
.target(name: "Shared"),
]
),
.target(
name: "Permissions",
dependencies: [
.target(name: "Theme"),
.target(name: "Shared"),
.target(name: "DependencyInjection"),
]
),
.target(
name: "PushFeature",
dependencies: [
.target(name: "Models"),
.target(name: "Defaults"),
.target(name: "DependencyInjection"),
.product(name: "XXDatabase", package: "client-ios-db"),
.product(name: "XXClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "XXMessengerClient", package: "elixxir-dapps-sdk-swift"),
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
]
),
.target(
name: "TestHelpers",
dependencies: [
.target(name: "Models"),
.target(name: "Presentation"),
]
),
.target(
name: "Keychain",
dependencies: [
.product(name: "KeychainAccess", package: "KeychainAccess"),
]
),
.target(
name: "Voxophone",
dependencies: [
.target(name: "Shared"),
]
),
.target(
name: "Models",
dependencies: [
.product(name: "DifferenceKit", package: "DifferenceKit"),
.product(name: "SwiftProtobuf", package: "swift-protobuf"),
]
),
.target(
name: "Defaults",
dependencies: [
.target(name: "DependencyInjection"),
]
),
.target(
name: "ToastFeature",
dependencies: [
.target(name: "Shared"),
]
),
.target(
name: "CrashService",
dependencies: [
.target(name: "CrashReporting"),
.product(name: "FirebaseCrashlytics", package: "firebase-ios-sdk"),
]
),
.target(
name: "SFTPFeature",
dependencies: [
.target(name: "HUD"),
.target(name: "Models"),
.target(name: "Shared"),
.target(name: "Keychain"),
.target(name: "InputField"),
.target(name: "Presentation"),
.target(name: "DependencyInjection"),
.product(name: "Shout", package: "Shout"),
]
),
.target(
name: "GoogleDriveFeature",
dependencies: [
.product(name: "GoogleSignIn", package: "GoogleSignIn-iOS"),
.product(name: "GoogleAPIClientForREST_Drive", package: "google-api-objectivec-client-for-rest"),
],
resources: [
.process("Resources"),
]
),
.target(
name: "iCloudFeature",
dependencies: [
.product(name: "FilesProvider", package: "FileProvider"),
]
),
.target(
name: "DropboxFeature",
dependencies: [
.product(name: "SwiftyDropbox", package: "SwiftyDropbox"),
],
resources: [
.process("Resources"),
]
),
.target(
name: "Countries",
dependencies: [
.target(name: "Theme"),
.target(name: "Shared"),
.target(name: "DependencyInjection"),
],
resources: [
.process("Resources"),
]
),
.target(
name: "Theme",
dependencies: [
.target(name: "Defaults"),
.target(name: "DependencyInjection"),
]
),
.testTarget(
name: "ThemeTests",
dependencies: [
.target(name: "Theme"),
.product(name: "Quick", package: "Quick"),
.product(name: "Nimble", package: "Nimble"),
]
),
.target(
name: "DrawerFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "InputField"),
.product(name: "ScrollViewController", package: "ScrollViewController"),
]
),
.target(
name: "HUD",
dependencies: [
.target(name: "Theme"),
.target(name: "Shared"),
.product(name: "SnapKit", package: "SnapKit"),
]
),
.target(
name: "XXLogger",
dependencies: [
.product(name: "SwiftyBeaver", package: "SwiftyBeaver"),
]
),
.target(
name: "Shared",
dependencies: [
.product(name: "SnapKit", package: "SnapKit"),
.product(name: "ChatLayout", package: "ChatLayout"),
.product(name: "DifferenceKit", package: "DifferenceKit"),
],
exclude: [
"swiftgen.yml",
],
resources: [
.process("Resources"),
]
),
.target(
name: "Presentation",
dependencies: [
.target(name: "Theme"),
.target(name: "Shared"),
.product(name: "SnapKit", package: "SnapKit"),
]
),
.testTarget(
name: "PresentationTests",
dependencies: [
.target(name: "Presentation"),
.product(name: "Quick", package: "Quick"),
.product(name: "Nimble", package: "Nimble"),
]
),
.target(
name: "ChatInputFeature",
dependencies: [
.target(name: "Voxophone"),
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
]
),
.target(
name: "RestoreFeature",
dependencies: [
.target(name: "HUD"),
.target(name: "Shared"),
.target(name: "SFTPFeature"),
.target(name: "Presentation"),
.target(name: "iCloudFeature"),
.target(name: "DropboxFeature"),
.target(name: "GoogleDriveFeature"),
.target(name: "DependencyInjection"),
.product(name: "XXClient", package: "elixxir-dapps-sdk-swift"),
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
]
),
.target(
name: "ContactFeature",
dependencies: [
.target(name: "Shared"),
.target(name: "InputField"),
.target(name: "ChatFeature"),
.target(name: "Presentation"),
.product(name: "CombineSchedulers", package: "combine-schedulers"),
.product(name: "ScrollViewController", package: "ScrollViewController"),
]
),
.testTarget(
name: "ContactFeatureTests",
dependencies: [
.target(name: "TestHelpers"),
.target(name: "ContactFeature"),
.product(name: "Quick", package: "Quick"),
.product(name: "Nimble", package: "Nimble"),
]
),
.target(
name: "ChatFeature",
dependencies: [
.target(name: "HUD"),
.target(name: "Theme"),
.target(name: "Shared"),
.target(name: "Defaults"),
.target(name: "Keychain"),
.target(name: "Voxophone"),
.target(name: "Permissions"),
.target(name: "Presentation"),
.target(name: "DrawerFeature"),
.target(name: "ChatInputFeature"),
.target(name: "ReportingFeature"),
.target(name: "DependencyInjection"),
.product(name: "ChatLayout", package: "ChatLayout"),
.product(name: "DifferenceKit", package: "DifferenceKit"),
.product(name: "ScrollViewController", package: "ScrollViewController"),
.product(name: "XXClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "XXMessengerClient", package: "elixxir-dapps-sdk-swift"),
]
),
.testTarget(
name: "ChatFeatureTests",
dependencies: [
.target(name: "ChatFeature"),
.target(name: "TestHelpers"),
.product(name: "Quick", package: "Quick"),
.product(name: "Nimble", package: "Nimble"),
]
),
.target(
name: "SearchFeature",
dependencies: [
.target(name: "HUD"),
.target(name: "Shared"),
.target(name: "Countries"),
.target(name: "Presentation"),
.target(name: "ContactFeature"),
.target(name: "DependencyInjection"),
.product(name: "XXDatabase", package: "client-ios-db"),
]
),
.testTarget(
name: "SearchFeatureTests",
dependencies: [
.target(name: "TestHelpers"),
.target(name: "SearchFeature"),
.product(name: "Quick", package: "Quick"),
.product(name: "Nimble", package: "Nimble"),
]
),
.target(
name: "LaunchFeature",
dependencies: [
.target(name: "HUD"),
.target(name: "Theme"),
.target(name: "Shared"),
.target(name: "Defaults"),
.target(name: "PushFeature"),
.target(name: "Permissions"),
.target(name: "DropboxFeature"),
.target(name: "VersionChecking"),
.target(name: "ReportingFeature"),
.target(name: "DependencyInjection"),
.product(name: "XXClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "XXMessengerClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "CombineSchedulers", package: "combine-schedulers"),
.product(name: "XXLegacyDatabaseMigrator", package: "client-ios-db"),
.target(
name: "TermsFeature",
dependencies: [
.target(name: "Theme"),
.target(name: "Shared"),
.target(name: "Defaults"),
.target(name: "Presentation"),
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
.target(
name: "RequestsFeature",
dependencies: [
.target(name: "Theme"),
.target(name: "Shared"),
.target(name: "ToastFeature"),
.target(name: "ContactFeature"),
.target(name: "DependencyInjection"),
.product(name: "DifferenceKit", package: "DifferenceKit"),
]
),
.testTarget(
name: "RequestsFeatureTests",
dependencies: [
.target(name: "TestHelpers"),
.target(name: "RequestsFeature"),
.product(name: "Quick", package: "Quick"),
.product(name: "Nimble", package: "Nimble"),
]
),
.target(
name: "ProfileFeature",
dependencies: [
.target(name: "HUD"),
.target(name: "Theme"),
.target(name: "Shared"),
.target(name: "Keychain"),
.target(name: "Defaults"),
.target(name: "Countries"),
.target(name: "InputField"),
.target(name: "MenuFeature"),
.target(name: "Permissions"),
.target(name: "Presentation"),
.target(name: "DrawerFeature"),
.target(name: "DependencyInjection"),
.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"),
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
]
),
.testTarget(
name: "ProfileFeatureTests",
dependencies: [
.target(name: "TestHelpers"),
.target(name: "ProfileFeature"),
.product(name: "Quick", package: "Quick"),
.product(name: "Nimble", package: "Nimble"),
]
),
.target(
name: "ChatListFeature",
dependencies: [
.target(name: "Theme"),
.target(name: "Shared"),
.target(name: "Defaults"),
.target(name: "MenuFeature"),
.target(name: "ChatFeature"),
.target(name: "ProfileFeature"),
.target(name: "SettingsFeature"),
.target(name: "ContactListFeature"),
.target(name: "DependencyInjection"),
.product(name: "DifferenceKit", package: "DifferenceKit"),
]
),
.testTarget(
name: "ChatListFeatureTests",
dependencies: [
.target(name: "TestHelpers"),
.target(name: "ChatListFeature"),
.product(name: "Quick", package: "Quick"),
.product(name: "Nimble", package: "Nimble"),
]
),
.target(
name: "OnboardingFeature",
dependencies: [
.target(name: "HUD"),
.target(name: "Shared"),
.target(name: "Defaults"),
.target(name: "Keychain"),
.target(name: "Countries"),
.target(name: "InputField"),
.target(name: "Permissions"),
.target(name: "PushFeature"),
.target(name: "Presentation"),
.target(name: "DrawerFeature"),
.target(name: "VersionChecking"),
.target(name: "DependencyInjection"),
.product(name: "CombineSchedulers", package: "combine-schedulers"),
.product(name: "ScrollViewController", package: "ScrollViewController"),
]
),
.testTarget(
name: "OnboardingFeatureTests",
dependencies: [
.target(name: "TestHelpers"),
.target(name: "OnboardingFeature"),
.product(name: "Quick", package: "Quick"),
.product(name: "Nimble", package: "Nimble"),
]
),
.target(
name: "MenuFeature",
dependencies: [
.target(name: "Theme"),
.target(name: "Shared"),
.target(name: "Defaults"),
.target(name: "Presentation"),
.target(name: "DependencyInjection"),
.product(name: "XXClient", package: "elixxir-dapps-sdk-swift"),
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
]
),
.target(
name: "BackupFeature",
dependencies: [
.target(name: "HUD"),
.target(name: "Shared"),
.target(name: "Models"),
.target(name: "InputField"),
.target(name: "SFTPFeature"),
.target(name: "Presentation"),
.target(name: "iCloudFeature"),
.target(name: "DrawerFeature"),
.target(name: "DropboxFeature"),
.target(name: "GoogleDriveFeature"),
.target(name: "DependencyInjection"),
]
),
.target(
name: "ScanFeature",
dependencies: [
.target(name: "Theme"),
.target(name: "Shared"),
.target(name: "Countries"),
.target(name: "Permissions"),
.target(name: "Presentation"),
.target(name: "ContactFeature"),
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
.target(name: "DependencyInjection"),
.product(name: "SnapKit", package: "SnapKit"),
]
),
.testTarget(
name: "ScanFeatureTests",
dependencies: [
.target(name: "ScanFeature"),
.target(name: "TestHelpers"),
.product(name: "Quick", package: "Quick"),
.product(name: "Nimble", package: "Nimble"),
]
),
.target(
name: "ContactListFeature",
dependencies: [
.target(name: "Theme"),
.target(name: "Shared"),
.target(name: "Presentation"),
.target(name: "ContactFeature"),
.target(name: "DependencyInjection"),
.product(name: "DifferenceKit", package: "DifferenceKit"),
]
),
.testTarget(
name: "ContactListFeatureTests",
dependencies: [
.target(name: "TestHelpers"),
.target(name: "ContactListFeature"),
.product(name: "Quick", package: "Quick"),
.product(name: "Nimble", package: "Nimble"),
]
),
.target(
name: "SettingsFeature",
dependencies: [
.target(name: "HUD"),
.target(name: "Theme"),
.target(name: "Shared"),
.target(name: "Defaults"),
.target(name: "Keychain"),
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
.target(name: "InputField"),
.target(name: "PushFeature"),
.target(name: "Permissions"),
.target(name: "MenuFeature"),
.target(name: "Presentation"),
.target(name: "DrawerFeature"),
.target(name: "DependencyInjection"),
.product(name: "CombineSchedulers", package: "combine-schedulers"),
.product(name: "ScrollViewController", package: "ScrollViewController"),
]
),
.testTarget(
name: "SettingsFeatureTests",
dependencies: [
.target(name: "TestHelpers"),
.target(name: "SettingsFeature"),
.product(name: "Quick", package: "Quick"),
.product(name: "Nimble", package: "Nimble"),
]
),
.target(
name: "CollectionView",
dependencies: [
.product(name: "ChatLayout", package: "ChatLayout"),
.product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"),
]
),
.testTarget(
name: "CollectionViewTests",
dependencies: [
.target(name: "CollectionView"),
.product(name: "CustomDump", package: "swift-custom-dump"),
]
),
.target(name: "DrawerFeature"),
.target(name: "Shared"),
.product(name: "SwiftCSV", package: "SwiftCSV"),
.product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"),