Build Information
Failed to build QuranEngine, reference main (e70d80
), with Swift 6.1 for Android on 29 May 2025 17:57:21 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/quran/quran-ios.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/quran/quran-ios
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at e70d80b Use app-image for audio now playing's artwork (#704)
Updating files: 73% (1059/1449)
Updating files: 74% (1073/1449)
Updating files: 75% (1087/1449)
Updating files: 76% (1102/1449)
Updating files: 77% (1116/1449)
Updating files: 78% (1131/1449)
Updating files: 79% (1145/1449)
Updating files: 80% (1160/1449)
Updating files: 81% (1174/1449)
Updating files: 82% (1189/1449)
Updating files: 83% (1203/1449)
Updating files: 84% (1218/1449)
Updating files: 85% (1232/1449)
Updating files: 86% (1247/1449)
Updating files: 87% (1261/1449)
Updating files: 88% (1276/1449)
Updating files: 89% (1290/1449)
Updating files: 90% (1305/1449)
Updating files: 91% (1319/1449)
Updating files: 92% (1334/1449)
Updating files: 93% (1348/1449)
Updating files: 94% (1363/1449)
Updating files: 95% (1377/1449)
Updating files: 96% (1392/1449)
Updating files: 97% (1406/1449)
Updating files: 98% (1421/1449)
Updating files: 99% (1435/1449)
Updating files: 100% (1449/1449)
Updating files: 100% (1449/1449), done.
Cloned https://github.com/quran/quran-ios.git
Revision (git rev-parse @):
e70d80b13ec964210f7e1bc542bd86ee2e85cf43
SUCCESS checkout https://github.com/quran/quran-ios.git at main
========================================
Build
========================================
Selected platform: android
Swift version: 6.1
Building package at path: $PWD
https://github.com/quran/quran-ios.git
https://github.com/quran/quran-ios.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"default_localization" : "en",
"dependencies" : [
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.4.2",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log"
},
{
"identity" : "swift-collections",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.3",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-collections"
},
{
"identity" : "zip",
"requirement" : {
"range" : [
{
"lower_bound" : "2.1.1",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/marmelroy/Zip"
},
{
"identity" : "grdb.swift",
"requirement" : {
"range" : [
{
"lower_bound" : "6.29.1",
"upper_bound" : "7.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/groue/GRDB.swift"
},
{
"identity" : "swift-async-algorithms",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-async-algorithms"
},
{
"identity" : "appauth-ios",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/openid/AppAuth-iOS"
},
{
"identity" : "genericdatasource",
"requirement" : {
"range" : [
{
"lower_bound" : "3.1.3",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/GenericDataSource/GenericDataSource"
},
{
"identity" : "whatsnewkit",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.7",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/SvenTiigi/WhatsNewKit"
},
{
"identity" : "popover",
"requirement" : {
"branch" : [
"master"
]
},
"type" : "sourceControl",
"url" : "https://github.com/mohamede1945/Popover"
},
{
"identity" : "nvactivityindicatorview",
"requirement" : {
"range" : [
{
"lower_bound" : "5.0.0",
"upper_bound" : "6.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/ninjaprox/NVActivityIndicatorView"
},
{
"identity" : "swift-snapshot-testing",
"requirement" : {
"range" : [
{
"lower_bound" : "1.9.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/pointfreeco/swift-snapshot-testing"
},
{
"identity" : "combine-schedulers",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/pointfreeco/combine-schedulers"
}
],
"manifest_display_name" : "QuranEngine",
"name" : "QuranEngine",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
}
],
"products" : [
{
"name" : "SystemDependencies",
"targets" : [
"SystemDependencies"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SystemDependenciesFake",
"targets" : [
"SystemDependenciesFake"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Locking",
"targets" : [
"Locking"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Preferences",
"targets" : [
"Preferences"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "VLogging",
"targets" : [
"VLogging"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Analytics",
"targets" : [
"Analytics"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Caching",
"targets" : [
"Caching"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Timing",
"targets" : [
"Timing"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "WeakSet",
"targets" : [
"WeakSet"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Crashing",
"targets" : [
"Crashing"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Utilities",
"targets" : [
"Utilities"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AppMigrator",
"targets" : [
"AppMigrator"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Localization",
"targets" : [
"Localization"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QueuePlayer",
"targets" : [
"QueuePlayer"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AsyncUtilitiesForTesting",
"targets" : [
"AsyncUtilitiesForTesting"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "OAuthService",
"targets" : [
"OAuthService"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SecurePersistence",
"targets" : [
"SecurePersistence"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "OAuthServiceAppAuthImpl",
"targets" : [
"OAuthServiceAppAuthImpl"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "OAuthServiceFake",
"targets" : [
"OAuthServiceFake"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranKit",
"targets" : [
"QuranKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranGeometry",
"targets" : [
"QuranGeometry"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranAudio",
"targets" : [
"QuranAudio"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranText",
"targets" : [
"QuranText"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranAnnotations",
"targets" : [
"QuranAnnotations"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ViewConstrainer",
"targets" : [
"ViewConstrainer"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "UIx",
"targets" : [
"UIx"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "NoorFont",
"targets" : [
"NoorFont"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "NoorUI",
"targets" : [
"NoorUI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "PageBookmarkPersistence",
"targets" : [
"PageBookmarkPersistence"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SyncedPageBookmarkPersistence",
"targets" : [
"SyncedPageBookmarkPersistence"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "LastPagePersistence",
"targets" : [
"LastPagePersistence"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "NotePersistence",
"targets" : [
"NotePersistence"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "CoreDataPersistence",
"targets" : [
"CoreDataPersistence"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "CoreDataPersistenceTestSupport",
"targets" : [
"CoreDataPersistenceTestSupport"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "CoreDataModel",
"targets" : [
"CoreDataModel"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SQLitePersistence",
"targets" : [
"SQLitePersistence"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AudioTimingPersistence",
"targets" : [
"AudioTimingPersistence"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "WordFramePersistence",
"targets" : [
"WordFramePersistence"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "WordTextPersistence",
"targets" : [
"WordTextPersistence"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "VerseTextPersistence",
"targets" : [
"VerseTextPersistence"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TranslationPersistence",
"targets" : [
"TranslationPersistence"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "NetworkSupport",
"targets" : [
"NetworkSupport"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "NetworkSupportFake",
"targets" : [
"NetworkSupportFake"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "BatchDownloader",
"targets" : [
"BatchDownloader"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "BatchDownloaderFake",
"targets" : [
"BatchDownloaderFake"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AuthenticationClient",
"targets" : [
"AuthenticationClient"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranResources",
"targets" : [
"QuranResources"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TestResources",
"targets" : [
"TestResources"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ReciterService",
"targets" : [
"ReciterService"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ReciterServiceFake",
"targets" : [
"ReciterServiceFake"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AudioUpdater",
"targets" : [
"AudioUpdater"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AudioTimingService",
"targets" : [
"AudioTimingService"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranAudioKit",
"targets" : [
"QuranAudioKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranTextKit",
"targets" : [
"QuranTextKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TranslationService",
"targets" : [
"TranslationService"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TranslationServiceFake",
"targets" : [
"TranslationServiceFake"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "WordFrameService",
"targets" : [
"WordFrameService"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "WordTextService",
"targets" : [
"WordTextService"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ImageService",
"targets" : [
"ImageService"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ReadingService",
"targets" : [
"ReadingService"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AnnotationsService",
"targets" : [
"AnnotationsService"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SettingsService",
"targets" : [
"SettingsService"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranProfileService",
"targets" : [
"QuranProfileService"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AppDependencies",
"targets" : [
"AppDependencies"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "FeaturesSupport",
"targets" : [
"FeaturesSupport"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ReciterListFeature",
"targets" : [
"ReciterListFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AyahMenuFeature",
"targets" : [
"AyahMenuFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "WhatsNewFeature",
"targets" : [
"WhatsNewFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "WordPointerFeature",
"targets" : [
"WordPointerFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AppMigrationFeature",
"targets" : [
"AppMigrationFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AdvancedAudioOptionsFeature",
"targets" : [
"AdvancedAudioOptionsFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AudioBannerFeature",
"targets" : [
"AudioBannerFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AudioDownloadsFeature",
"targets" : [
"AudioDownloadsFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MoreMenuFeature",
"targets" : [
"MoreMenuFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "NoteEditorFeature",
"targets" : [
"NoteEditorFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "BookmarksFeature",
"targets" : [
"BookmarksFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranPagesFeature",
"targets" : [
"QuranPagesFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranImageFeature",
"targets" : [
"QuranImageFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ReadingSelectorFeature",
"targets" : [
"ReadingSelectorFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranTranslationFeature",
"targets" : [
"QuranTranslationFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranContentFeature",
"targets" : [
"QuranContentFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TranslationsFeature",
"targets" : [
"TranslationsFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "NotesFeature",
"targets" : [
"NotesFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TranslationVerseFeature",
"targets" : [
"TranslationVerseFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SearchFeature",
"targets" : [
"SearchFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "HomeFeature",
"targets" : [
"HomeFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranViewFeature",
"targets" : [
"QuranViewFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SettingsFeature",
"targets" : [
"SettingsFeature"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AppStructureFeature",
"targets" : [
"AppStructureFeature"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "WordTextServiceTests",
"module_type" : "SwiftTarget",
"name" : "WordTextServiceTests",
"path" : "Domain/WordTextService/Tests",
"sources" : [
"WordTextServiceTests.swift"
],
"target_dependencies" : [
"WordTextService",
"TestResources"
],
"type" : "test"
},
{
"c99name" : "WordTextService",
"module_type" : "SwiftTarget",
"name" : "WordTextService",
"path" : "Domain/WordTextService/Sources",
"product_memberships" : [
"WordTextService",
"WordPointerFeature",
"MoreMenuFeature",
"TranslationVerseFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"WordTextPreferences.swift",
"WordTextService.swift"
],
"target_dependencies" : [
"QuranText",
"WordTextPersistence",
"Preferences",
"Crashing"
],
"type" : "library"
},
{
"c99name" : "WordTextPersistence",
"module_type" : "SwiftTarget",
"name" : "WordTextPersistence",
"path" : "Data/WordTextPersistence",
"product_memberships" : [
"WordTextPersistence",
"WordTextService",
"WordPointerFeature",
"MoreMenuFeature",
"TranslationVerseFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"GRDBWordTextPersistence.swift",
"WordTextPersistence.swift"
],
"target_dependencies" : [
"SQLitePersistence",
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "WordPointerFeature",
"module_type" : "SwiftTarget",
"name" : "WordPointerFeature",
"path" : "Features/WordPointerFeature",
"product_dependencies" : [
"Popover_OC"
],
"product_memberships" : [
"WordPointerFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"WordPointerBuilder.swift",
"WordPointerViewController.swift",
"WordPointerViewModel.swift"
],
"target_dependencies" : [
"AppDependencies",
"WordTextService",
"NoorUI"
],
"type" : "library"
},
{
"c99name" : "WordFrameService",
"module_type" : "SwiftTarget",
"name" : "WordFrameService",
"path" : "Domain/WordFrameService",
"product_memberships" : [
"QuranAudioKit",
"QuranTextKit",
"WordFrameService",
"ImageService",
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"WordFrame+Extension.swift",
"WordFrameProcessor.swift"
],
"target_dependencies" : [
"WordFramePersistence"
],
"type" : "library"
},
{
"c99name" : "WordFramePersistence",
"module_type" : "SwiftTarget",
"name" : "WordFramePersistence",
"path" : "Data/WordFramePersistence",
"product_memberships" : [
"WordFramePersistence",
"QuranAudioKit",
"QuranTextKit",
"WordFrameService",
"ImageService",
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"GRDBWordFramePersistence.swift",
"WordFramePersistence.swift"
],
"target_dependencies" : [
"SQLitePersistence",
"QuranGeometry"
],
"type" : "library"
},
{
"c99name" : "WhatsNewFeature",
"module_type" : "SwiftTarget",
"name" : "WhatsNewFeature",
"path" : "Features/WhatsNewFeature",
"product_dependencies" : [
"WhatsNewKit"
],
"product_memberships" : [
"WhatsNewFeature",
"AppStructureFeature"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/Features/WhatsNewFeature/whats-new.plist",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"AppWhatsNew.swift",
"AppWhatsNewController.swift",
"AppWhatsNewVersionStore.swift"
],
"target_dependencies" : [
"NoorUI",
"Analytics"
],
"type" : "library"
},
{
"c99name" : "WeakSet",
"module_type" : "SwiftTarget",
"name" : "WeakSet",
"path" : "Core/WeakSet",
"product_memberships" : [
"WeakSet",
"BatchDownloader",
"BatchDownloaderFake",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"ReadingService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"AyahMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"UnsafeWeakSet.swift",
"WeakSet.swift"
],
"target_dependencies" : [
"Locking"
],
"type" : "library"
},
{
"c99name" : "ViewConstrainer",
"module_type" : "SwiftTarget",
"name" : "ViewConstrainer",
"path" : "UI/ViewConstrainer",
"product_memberships" : [
"ViewConstrainer",
"UIx",
"NoorUI",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"GroupConstrainer.swift",
"SingleConstrainer.swift",
"UIView+Const.swift",
"ViewConstrainer.swift"
],
"type" : "library"
},
{
"c99name" : "VerseTextPersistence",
"module_type" : "SwiftTarget",
"name" : "VerseTextPersistence",
"path" : "Data/VerseTextPersistence",
"product_memberships" : [
"VerseTextPersistence",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"DatabaseVersionPersistence.swift",
"GRDBDatabaseVersionPersistence.swift",
"GRDBVerseTextPersistence.swift",
"VerseTextPersistence.swift"
],
"target_dependencies" : [
"SQLitePersistence",
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "VLogging",
"module_type" : "SwiftTarget",
"name" : "VLogging",
"path" : "Core/VLogging",
"product_dependencies" : [
"Logging"
],
"product_memberships" : [
"VLogging",
"Analytics",
"AppMigrator",
"OAuthServiceAppAuthImpl",
"UIx",
"NoorUI",
"PageBookmarkPersistence",
"SyncedPageBookmarkPersistence",
"LastPagePersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"SQLitePersistence",
"AudioTimingPersistence",
"WordFramePersistence",
"WordTextPersistence",
"VerseTextPersistence",
"TranslationPersistence",
"BatchDownloader",
"BatchDownloaderFake",
"AuthenticationClient",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordFrameService",
"WordTextService",
"ImageService",
"ReadingService",
"AnnotationsService",
"SettingsService",
"QuranProfileService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"Logger.swift"
],
"type" : "library"
},
{
"c99name" : "UtilitiesTests",
"module_type" : "SwiftTarget",
"name" : "UtilitiesTests",
"path" : "Core/Utilities/Tests",
"sources" : [
"AsyncPublisherTests.swift",
"AsyncThrowingPublisherTests.swift",
"String+ChunkingTests.swift",
"String+ExtensionTests.swift"
],
"target_dependencies" : [
"Utilities",
"AsyncUtilitiesForTesting"
],
"type" : "test"
},
{
"c99name" : "Utilities",
"module_type" : "SwiftTarget",
"name" : "Utilities",
"path" : "Core/Utilities/Sources",
"product_memberships" : [
"SystemDependencies",
"SystemDependenciesFake",
"Caching",
"Utilities",
"AppMigrator",
"SecurePersistence",
"QuranAudio",
"QuranText",
"QuranAnnotations",
"NoorUI",
"PageBookmarkPersistence",
"SyncedPageBookmarkPersistence",
"LastPagePersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"SQLitePersistence",
"AudioTimingPersistence",
"WordFramePersistence",
"WordTextPersistence",
"VerseTextPersistence",
"TranslationPersistence",
"BatchDownloader",
"BatchDownloaderFake",
"AuthenticationClient",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordFrameService",
"WordTextService",
"ImageService",
"ReadingService",
"AnnotationsService",
"SettingsService",
"QuranProfileService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"Extensions/Array+Extension.swift",
"Extensions/Error+Extension.swift",
"Extensions/FileManager+Extension.swift",
"Extensions/Int+Extension.swift",
"Extensions/Result+Extension.swift",
"Extensions/Sequence+Extension.swift",
"Extensions/String+Chunking.swift",
"Extensions/String+Extension.swift",
"Extensions/Task+Extension.swift",
"Extensions/URL+Extension.swift",
"Features/Address.swift",
"Features/AsyncInitializer.swift",
"Features/AsyncPublisher.swift",
"Features/AsyncThrowingPublisher.swift",
"Features/Attempt.swift",
"Features/Locking.swift",
"Features/MultiPredicateComparer.swift",
"Features/MulticastContinuation.swift",
"Features/Pair.swift",
"Features/RelativeFilePath.swift"
],
"type" : "library"
},
{
"c99name" : "UIx",
"module_type" : "SwiftTarget",
"name" : "UIx",
"path" : "UI/UIx",
"product_memberships" : [
"UIx",
"NoorUI",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"SwiftUI/CollectionView/CollectionView.swift",
"SwiftUI/CollectionView/CollectionViewController.swift",
"SwiftUI/CollectionView/CollectionViewDataSource.swift",
"SwiftUI/CollectionView/CollectionViewReader.swift",
"SwiftUI/CollectionView/CollectionViewScroller.swift",
"SwiftUI/CollectionView/HostingCollectionViewCell.swift",
"SwiftUI/CollectionView/ListSection.swift",
"SwiftUI/Epoxy/CollectionViewScrollToItemHelper.swift",
"SwiftUI/Epoxy/DataIDProviding.swift",
"SwiftUI/Epoxy/EpoxyIntrinsicContentSizeInvalidator.swift",
"SwiftUI/Epoxy/EpoxySwiftUIHostingController.swift",
"SwiftUI/Epoxy/EpoxySwiftUIHostingView.swift",
"SwiftUI/Epoxy/EpoxySwiftUILayoutMargins.swift",
"SwiftUI/Epoxy/_Compatibility.swift",
"SwiftUI/Miscellaneous/AsyncAction.swift",
"SwiftUI/Miscellaneous/BackgroundHighlightingStyle.swift",
"SwiftUI/Miscellaneous/CustomButtonStyle.swift",
"SwiftUI/Miscellaneous/EdgeInsets++.swift",
"SwiftUI/Miscellaneous/EditController.swift",
"SwiftUI/Miscellaneous/SwiftUIColor+extension.swift",
"SwiftUI/Miscellaneous/UIKitNavigator.swift",
"SwiftUI/Miscellaneous/View+Task.swift",
"SwiftUI/Miscellaneous/View+URL.swift",
"SwiftUI/Miscellaneous/View+onSizeChange.swift",
"SwiftUI/Miscellaneous/WrappingHStack.swift",
"SwiftUI/Mutate.swift",
"SwiftUI/SingleChoice/SingleChoiceRow.swift",
"SwiftUI/SingleChoice/SingleChoiceSelector.swift",
"SwiftUI/Toast/Toast.swift",
"SwiftUI/Toast/ToastEnvironmentKey.swift",
"SwiftUI/Views/AttributedString++.swift",
"SwiftUI/Views/AutoSizingHostingController.swift",
"SwiftUI/Views/AutoUpdatingPreferredContentSizeHostingController.swift",
"SwiftUI/Views/CloseButton.swift",
"SwiftUI/Views/CocoaNavigationBar.swift",
"SwiftUI/Views/CocoaNavigationView.swift",
"SwiftUI/Views/CollectionTracker.swift",
"SwiftUI/Views/HostingCell.swift",
"SwiftUI/Views/InvertInDarkModeModifier.swift",
"SwiftUI/Views/PopoverNavigationController.swift",
"SwiftUI/Views/PreferredContentSizeMatchesScrollView.swift",
"SwiftUI/Views/SheetPresentationDetents.swift",
"SwiftUI/Views/SingleAxisGeometryReader.swift",
"SwiftUI/Views/StaticViewControllerRepresentable.swift",
"SwiftUI/Views/TextAlignmentModifier.swift",
"SwiftUI/Views/TextView.swift",
"SwiftUI/Views/UIViewControllerReader.swift",
"SwiftUI/Views/WindowSafeAreaInsetsReaderViewModifier.swift",
"UIKit/DataSources/DefaultSection.swift",
"UIKit/DataSources/NSDiffableDataSourceSnapshot++.swift",
"UIKit/Extensions/CALayer+Extension.swift",
"UIKit/Extensions/SegmentedControl+Extension.swift",
"UIKit/Extensions/String+Size.swift",
"UIKit/Extensions/UIBezierPath+Extension.swift",
"UIKit/Extensions/UIColor+Extension.swift",
"UIKit/Extensions/UIImage+Extension.swift",
"UIKit/Extensions/UITableView+Extension.swift",
"UIKit/Extensions/UIView+AutoLayout.swift",
"UIKit/Extensions/UIView+Extension.swift",
"UIKit/Extensions/UIViewController+Extensions.swift",
"UIKit/Extensions/UIWIndow+Extensions.swift",
"UIKit/Miscellaneous/NSDirectionalEdgeInsets++.swift",
"UIKit/Miscellaneous/PresentationsMonitor.swift",
"UIKit/Miscellaneous/ScrollViewPageBehavior.swift",
"UIKit/Popover/PhonePopoverPresenter.swift",
"UIKit/Popover/PopoverPresenter.swift",
"UIKit/Views/BackgroundColorButton.swift",
"UIKit/Views/ByPassTouchesView.swift",
"UIKit/Views/CircleView.swift",
"UIKit/Views/CircularView.swift",
"UIKit/Views/GradientView.swift",
"UIKit/Views/MagnifyingGlass.swift",
"UIKit/Views/RoundedShadowView.swift",
"UIKit/Views/ScrollViewController.swift",
"UIKit/Views/SearchControllerWithNoCancelButton.swift",
"UIKit/Views/TwoLineNavigationTitleView.swift"
],
"target_dependencies" : [
"ViewConstrainer",
"VLogging"
],
"type" : "library"
},
{
"c99name" : "TranslationsFeature",
"module_type" : "SwiftTarget",
"name" : "TranslationsFeature",
"path" : "Features/TranslationsFeature",
"product_memberships" : [
"TranslationsFeature",
"TranslationVerseFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"TranslationItem.swift",
"TranslationsListBuilder.swift",
"TranslationsListView.swift",
"TranslationsListViewModel.swift",
"TranslationsViewController.swift"
],
"target_dependencies" : [
"AppDependencies",
"TranslationService",
"NoorUI"
],
"type" : "library"
},
{
"c99name" : "TranslationVerseFeature",
"module_type" : "SwiftTarget",
"name" : "TranslationVerseFeature",
"path" : "Features/TranslationVerseFeature",
"product_memberships" : [
"TranslationVerseFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"TranslationVerseBuilder.swift",
"TranslationVerseView.swift",
"TranslationVerseViewController.swift",
"TranslationVerseViewModel.swift"
],
"target_dependencies" : [
"AppDependencies",
"MoreMenuFeature",
"TranslationsFeature",
"QuranTranslationFeature",
"QuranTextKit",
"Caching"
],
"type" : "library"
},
{
"c99name" : "TranslationServiceTests",
"module_type" : "SwiftTarget",
"name" : "TranslationServiceTests",
"path" : "Domain/TranslationService/Tests",
"sources" : [
"LocalTranslationsRetrieverTests.swift",
"SelectedTranslationsPreferencesTests.swift",
"TranslationDeleterTests.swift",
"TranslationsDownloaderTests.swift",
"TranslationsRepositoryTests.swift"
],
"target_dependencies" : [
"TranslationService",
"TranslationServiceFake",
"BatchDownloaderFake"
],
"type" : "test"
},
{
"c99name" : "TranslationServiceFake",
"module_type" : "SwiftTarget",
"name" : "TranslationServiceFake",
"path" : "Domain/TranslationServiceFake",
"product_memberships" : [
"TranslationServiceFake"
],
"sources" : [
"LocalTranslationsFake.swift",
"TranslationTestData.swift"
],
"target_dependencies" : [
"TranslationService",
"SystemDependenciesFake",
"Utilities",
"TestResources",
"AsyncUtilitiesForTesting"
],
"type" : "library"
},
{
"c99name" : "TranslationService",
"module_type" : "SwiftTarget",
"name" : "TranslationService",
"path" : "Domain/TranslationService/Sources",
"product_dependencies" : [
"Zip"
],
"product_memberships" : [
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"LocalTranslationsRetriever.swift",
"SelectedTranslationsPreferences.swift",
"TranslationDeleter.swift",
"TranslationNetworkManager.swift",
"TranslationUnzipper.swift",
"TranslationsDownloader.swift",
"TranslationsParser.swift",
"TranslationsRepository.swift",
"TranslationsVersionUpdater.swift"
],
"target_dependencies" : [
"QuranText",
"TranslationPersistence",
"VerseTextPersistence",
"BatchDownloader",
"Localization",
"Preferences",
"SystemDependencies"
],
"type" : "library"
},
{
"c99name" : "TranslationPersistence",
"module_type" : "SwiftTarget",
"name" : "TranslationPersistence",
"path" : "Data/TranslationPersistence",
"product_memberships" : [
"TranslationPersistence",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"ActiveTranslationsPersistence.swift",
"GRDBActiveTranslationsPersistence.swift"
],
"target_dependencies" : [
"SQLitePersistence",
"QuranText"
],
"type" : "library"
},
{
"c99name" : "Timing",
"module_type" : "SwiftTarget",
"name" : "Timing",
"path" : "Core/Timing",
"product_memberships" : [
"Timing",
"QueuePlayer",
"QuranAudioKit",
"AyahMenuFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"Timer.swift"
],
"target_dependencies" : [
"Locking"
],
"type" : "library"
},
{
"c99name" : "TestResources",
"module_type" : "SwiftTarget",
"name" : "TestResources",
"path" : "Domain/TestResources",
"product_memberships" : [
"TestResources",
"ReciterServiceFake",
"TranslationServiceFake"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/Domain/TestResources/test_data",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"TestResources.swift"
],
"type" : "library"
},
{
"c99name" : "SystemDependenciesFake",
"module_type" : "SwiftTarget",
"name" : "SystemDependenciesFake",
"path" : "Core/SystemDependenciesFake",
"product_memberships" : [
"SystemDependenciesFake",
"CoreDataPersistenceTestSupport",
"ReciterServiceFake",
"TranslationServiceFake"
],
"sources" : [
"AsyncChannelEventObserver.swift",
"FileSystemFake.swift",
"KeychainAccessFake.swift",
"PersistentHistoryTransactionFake.swift",
"SystemBundleFake.swift",
"SystemTimeFake.swift",
"ZipperFake.swift"
],
"target_dependencies" : [
"SystemDependencies",
"Utilities"
],
"type" : "library"
},
{
"c99name" : "SystemDependencies",
"module_type" : "SwiftTarget",
"name" : "SystemDependencies",
"path" : "Core/SystemDependencies",
"product_dependencies" : [
"Zip",
"AsyncAlgorithms"
],
"product_memberships" : [
"SystemDependencies",
"SystemDependenciesFake",
"AppMigrator",
"SecurePersistence",
"PageBookmarkPersistence",
"LastPagePersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"BatchDownloader",
"BatchDownloaderFake",
"AuthenticationClient",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"ReadingService",
"AnnotationsService",
"QuranProfileService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"EventObserver.swift",
"FileSystem.swift",
"KeychainAccess.swift",
"PersistentHistoryTransaction.swift",
"SystemBundle.swift",
"SystemTime.swift",
"Zipper.swift"
],
"target_dependencies" : [
"Utilities"
],
"type" : "library"
},
{
"c99name" : "SyncedPageBookmarkPersistenceTests",
"module_type" : "SwiftTarget",
"name" : "SyncedPageBookmarkPersistenceTests",
"path" : "Data/SyncedPageBookmarkPersistence/Tests",
"sources" : [
"GRDBSyncedPageBookmarkPersistenceTests.swift"
],
"target_dependencies" : [
"SyncedPageBookmarkPersistence",
"AsyncUtilitiesForTesting"
],
"type" : "test"
},
{
"c99name" : "SyncedPageBookmarkPersistence",
"module_type" : "SwiftTarget",
"name" : "SyncedPageBookmarkPersistence",
"path" : "Data/SyncedPageBookmarkPersistence/Sources",
"product_dependencies" : [
"GRDB"
],
"product_memberships" : [
"SyncedPageBookmarkPersistence"
],
"sources" : [
"GRDBSyncedPageBookmarkPersistence.swift",
"SyncedPageBookmarkPersistence.swift",
"SyncedPageBookmarkPersistenceModel.swift"
],
"target_dependencies" : [
"SQLitePersistence"
],
"type" : "library"
},
{
"c99name" : "SettingsService",
"module_type" : "SwiftTarget",
"name" : "SettingsService",
"path" : "Domain/SettingsService",
"product_memberships" : [
"SettingsService",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"ReviewPersistence.swift",
"ReviewService.swift"
],
"target_dependencies" : [
"Analytics",
"Preferences",
"Utilities"
],
"type" : "library"
},
{
"c99name" : "SettingsFeature",
"module_type" : "SwiftTarget",
"name" : "SettingsFeature",
"path" : "Features/SettingsFeature",
"product_dependencies" : [
"Zip"
],
"product_memberships" : [
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"ContactUsService.swift",
"Diagnostics/DiagnosticsBuilder.swift",
"Diagnostics/DiagnosticsService.swift",
"Diagnostics/DiagnosticsView.swift",
"Diagnostics/DiagnosticsViewModel.swift",
"SettingsBuilder.swift",
"SettingsRootView.swift",
"SettingsRootViewModel.swift",
"UIViewController+Share.swift"
],
"target_dependencies" : [
"AppDependencies",
"SettingsService",
"NoorUI",
"VLogging",
"AudioDownloadsFeature",
"TranslationsFeature",
"ReadingSelectorFeature",
"Preferences",
"QuranProfileService"
],
"type" : "library"
},
{
"c99name" : "SecurePersistence",
"module_type" : "SwiftTarget",
"name" : "SecurePersistence",
"path" : "Core/SecurePersistence",
"product_memberships" : [
"SecurePersistence",
"AuthenticationClient",
"QuranProfileService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"SecurePersistence.swift"
],
"target_dependencies" : [
"SystemDependencies"
],
"type" : "library"
},
{
"c99name" : "SearchFeature",
"module_type" : "SwiftTarget",
"name" : "SearchFeature",
"path" : "Features/SearchFeature",
"product_memberships" : [
"SearchFeature",
"AppStructureFeature"
],
"sources" : [
"SearchBuilder.swift",
"SearchTypes.swift",
"SearchView.swift",
"SearchViewController.swift",
"SearchViewModel.swift"
],
"target_dependencies" : [
"AppDependencies",
"QuranTextKit",
"FeaturesSupport",
"ReadingService",
"NoorUI"
],
"type" : "library"
},
{
"c99name" : "SQLitePersistenceTests",
"module_type" : "SwiftTarget",
"name" : "SQLitePersistenceTests",
"path" : "Data/SQLitePersistence/Tests",
"sources" : [
"DatabaseConnectionTests.swift"
],
"target_dependencies" : [
"SQLitePersistence",
"AsyncUtilitiesForTesting"
],
"type" : "test"
},
{
"c99name" : "SQLitePersistence",
"module_type" : "SwiftTarget",
"name" : "SQLitePersistence",
"path" : "Data/SQLitePersistence/Sources",
"product_dependencies" : [
"GRDB"
],
"product_memberships" : [
"SyncedPageBookmarkPersistence",
"SQLitePersistence",
"AudioTimingPersistence",
"WordFramePersistence",
"WordTextPersistence",
"VerseTextPersistence",
"TranslationPersistence",
"BatchDownloader",
"BatchDownloaderFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordFrameService",
"WordTextService",
"ImageService",
"ReadingService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"AyahMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"DatabaseConnection.swift",
"PersistenceError.swift"
],
"target_dependencies" : [
"Utilities",
"VLogging",
"Localization"
],
"type" : "library"
},
{
"c99name" : "ReciterServiceTests",
"module_type" : "SwiftTarget",
"name" : "ReciterServiceTests",
"path" : "Domain/ReciterService/Tests",
"sources" : [
"DownloadedRecitersServiceTests.swift",
"RecentRecitersServiceTests.swift",
"ReciterSizeInfoRetrieverTests.swift"
],
"target_dependencies" : [
"ReciterService",
"ReciterServiceFake",
"SystemDependenciesFake"
],
"type" : "test"
},
{
"c99name" : "ReciterServiceFake",
"module_type" : "SwiftTarget",
"name" : "ReciterServiceFake",
"path" : "Domain/ReciterServiceFake",
"product_memberships" : [
"ReciterServiceFake"
],
"sources" : [
"Reciter+Fixture.swift",
"Reciter+Preparation.swift"
],
"target_dependencies" : [
"ReciterService",
"SystemDependenciesFake",
"TestResources"
],
"type" : "library"
},
{
"c99name" : "ReciterService",
"module_type" : "SwiftTarget",
"name" : "ReciterService",
"path" : "Domain/ReciterService/Sources",
"product_dependencies" : [
"Zip",
"OrderedCollections"
],
"product_memberships" : [
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"QuranAudioKit",
"ReciterListFeature",
"AyahMenuFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AudioFileListRetriever.swift",
"AudioUnzipper.swift",
"DownloadedRecitersService.swift",
"RecentRecitersService.swift",
"Reciter+Localization.swift",
"ReciterAudioDeleter.swift",
"ReciterDataRetriever.swift",
"ReciterPreferences.swift",
"ReciterSizeInfoRetriever.swift"
],
"target_dependencies" : [
"Localization",
"SystemDependencies",
"Utilities",
"QuranKit",
"Preferences",
"QuranAudio",
"VLogging",
"Crashing"
],
"type" : "library"
},
{
"c99name" : "ReciterListFeature",
"module_type" : "SwiftTarget",
"name" : "ReciterListFeature",
"path" : "Features/ReciterListFeature",
"product_memberships" : [
"ReciterListFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"ReciterListBuilder.swift",
"ReciterListView.swift",
"ReciterListViewController.swift",
"ReciterListViewModel.swift"
],
"target_dependencies" : [
"QuranAudio",
"NoorUI",
"ReciterService"
],
"type" : "library"
},
{
"c99name" : "ReadingServiceTests",
"module_type" : "SwiftTarget",
"name" : "ReadingServiceTests",
"path" : "Domain/ReadingService/Tests",
"sources" : [
"ReadingRemoteResourcesFake.swift",
"ReadingResourcesServiceTests.swift"
],
"target_dependencies" : [
"ReadingService",
"AsyncUtilitiesForTesting",
"SystemDependenciesFake",
"BatchDownloaderFake"
],
"type" : "test"
},
{
"c99name" : "ReadingService",
"module_type" : "SwiftTarget",
"name" : "ReadingService",
"path" : "Domain/ReadingService/Sources",
"product_dependencies" : [
"CombineSchedulers"
],
"product_memberships" : [
"ReadingService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"ReadingPreferences.swift",
"ReadingRemoteResources.swift",
"ReadingResourceDownloader.swift",
"ReadingResourcesService.swift"
],
"target_dependencies" : [
"QuranKit",
"VLogging",
"Preferences",
"BatchDownloader",
"SystemDependencies"
],
"type" : "library"
},
{
"c99name" : "ReadingSelectorFeature",
"module_type" : "SwiftTarget",
"name" : "ReadingSelectorFeature",
"path" : "Features/ReadingSelectorFeature",
"product_memberships" : [
"ReadingSelectorFeature",
"HomeFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"ReadingSelectorBuilder.swift",
"ReadingSelectorViewController.swift",
"ReadingSelectorViewModel.swift",
"View/Reading+Resources.swift",
"View/ReadingDetails.swift",
"View/ReadingImage.swift",
"View/ReadingImageView.swift",
"View/ReadingInfo.swift",
"View/ReadingItem.swift",
"View/ReadingSelector.swift"
],
"target_dependencies" : [
"AppDependencies",
"ReadingService",
"NoorUI"
],
"type" : "library"
},
{
"c99name" : "QuranViewFeature",
"module_type" : "SwiftTarget",
"name" : "QuranViewFeature",
"path" : "Features/QuranViewFeature",
"product_memberships" : [
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"QuranBuilder.swift",
"QuranInteractor.swift",
"QuranView.swift",
"QuranViewController.swift"
],
"target_dependencies" : [
"AudioBannerFeature",
"QuranContentFeature",
"AyahMenuFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"WordPointerFeature",
"TranslationsFeature",
"TranslationVerseFeature",
"FeaturesSupport"
],
"type" : "library"
},
{
"c99name" : "QuranTranslationFeature",
"module_type" : "SwiftTarget",
"name" : "QuranTranslationFeature",
"path" : "Features/QuranTranslationFeature",
"product_memberships" : [
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationVerseFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"ContentTranslationBuilder.swift",
"ContentTranslationView.swift",
"ContentTranslationViewModel.swift",
"Translation+UI.swift",
"TranslationFootnote.swift",
"TranslationItem+View.swift",
"TranslationItem.swift",
"TranslationURL.swift"
],
"target_dependencies" : [
"AppDependencies",
"NoorUI",
"ReadingService",
"QuranPagesFeature",
"QuranTextKit"
],
"type" : "library"
},
{
"c99name" : "QuranTextKitTests",
"module_type" : "SwiftTarget",
"name" : "QuranTextKitTests",
"path" : "Domain/QuranTextKit/Tests",
"product_dependencies" : [
"SnapshotTesting"
],
"sources" : [
"CompositeSearcherTests.swift",
"Encoding.swift",
"QuartersDataRetrieverTests.swift",
"QuranTextDataServiceTests.swift",
"SearchRecentsServiceTests.swift",
"ShareableVerseTextRetrieverTests.swift",
"TestData.swift",
"TwoPagesUtilsTests.swift"
],
"target_dependencies" : [
"QuranTextKit",
"ReadingService",
"TranslationServiceFake",
"SystemDependenciesFake",
"TestResources",
"QuranResources"
],
"type" : "test"
},
{
"c99name" : "QuranTextKit",
"module_type" : "SwiftTarget",
"name" : "QuranTextKit",
"path" : "Domain/QuranTextKit/Sources",
"product_memberships" : [
"QuranAudioKit",
"QuranTextKit",
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"Localization/QuranKit+Localization.swift",
"Preferences/FontSizePreferences.swift",
"Preferences/QuranContentStatePreferences.swift",
"Search/Recents/SearchRecentsService.swift",
"Search/Searchers/CompositeSearcher.swift",
"Search/Searchers/NumberSearcher.swift",
"Search/Searchers/PersistenceSearcher.swift",
"Search/Searchers/SearchTerm.swift",
"Search/Searchers/Searcher.swift",
"Search/Searchers/SuraSearcher.swift",
"Search/Searchers/TranslationSearcher.swift",
"ShareableText/ShareableVerseTextRetriever.swift",
"TranslationText/QuranTextDataService.swift",
"TwoPages/TwoPagesUtils.swift"
],
"target_dependencies" : [
"TranslationService",
"WordFrameService",
"QuranKit",
"VerseTextPersistence"
],
"type" : "library"
},
{
"c99name" : "QuranText",
"module_type" : "SwiftTarget",
"name" : "QuranText",
"path" : "Model/QuranText",
"product_memberships" : [
"QuranText",
"QuranAnnotations",
"NoorUI",
"TranslationPersistence",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordTextService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"FontSize.swift",
"QuranMode.swift",
"SearchResults.swift",
"TranslatedVerses.swift",
"Translation+URLs.swift",
"Translation.swift",
"WordTextType.swift"
],
"target_dependencies" : [
"Utilities",
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "QuranResources",
"module_type" : "SwiftTarget",
"name" : "QuranResources",
"path" : "Domain/QuranResources",
"product_memberships" : [
"QuranResources",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/Domain/QuranResources/Databases",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"QuranResources.swift"
],
"type" : "library"
},
{
"c99name" : "QuranProfileService",
"module_type" : "SwiftTarget",
"name" : "QuranProfileService",
"path" : "Domain/QuranProfileService",
"product_memberships" : [
"QuranProfileService",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"Sources/QuranProfileService.swift"
],
"target_dependencies" : [
"AuthenticationClient"
],
"type" : "library"
},
{
"c99name" : "QuranPagesFeature",
"module_type" : "SwiftTarget",
"name" : "QuranPagesFeature",
"path" : "Features/QuranPagesFeature",
"product_memberships" : [
"QuranPagesFeature",
"QuranImageFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationVerseFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"Page+Localization.swift",
"PageGeometryActions.swift",
"QuranPaginationView.swift"
],
"target_dependencies" : [
"NoorUI",
"WeakSet",
"QuranTextKit",
"Caching"
],
"type" : "library"
},
{
"c99name" : "QuranKitTests",
"module_type" : "SwiftTarget",
"name" : "QuranKitTests",
"path" : "Model/QuranKit/Tests",
"sources" : [
"AyahNumberTests.swift",
"HizbTests.swift",
"JuzTests.swift",
"PageTests.swift",
"QuarterTests.swift",
"SuraTests.swift"
],
"target_dependencies" : [
"QuranKit"
],
"type" : "test"
},
{
"c99name" : "QuranKit",
"module_type" : "SwiftTarget",
"name" : "QuranKit",
"path" : "Model/QuranKit/Sources",
"product_memberships" : [
"QuranKit",
"QuranGeometry",
"QuranAudio",
"QuranText",
"QuranAnnotations",
"NoorUI",
"PageBookmarkPersistence",
"AudioTimingPersistence",
"WordFramePersistence",
"WordTextPersistence",
"VerseTextPersistence",
"TranslationPersistence",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordFrameService",
"WordTextService",
"ImageService",
"ReadingService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AyahNumber.swift",
"Hizb.swift",
"Juz.swift",
"LastAyahFinder/JuzBasedLastAyahFinder.swift",
"LastAyahFinder/LastAyahFinder.swift",
"LastAyahFinder/PageBasedLastAyahFinder.swift",
"LastAyahFinder/SuraBasedLastAyahFinder.swift",
"LazyAtomic.swift",
"Navigatable.swift",
"Page.swift",
"Quarter.swift",
"Quran.swift",
"QuranGroup.swift",
"QuranValueStorage.swift",
"Reading.swift",
"ReadingInfo/Madani1405QuranReadingInfoRawData.swift",
"ReadingInfo/Madani1440QuranReadingInfoRawData.swift",
"ReadingInfo/QuranReadingInfoRawData.swift",
"Sura.swift",
"Util.swift",
"Word.swift"
],
"type" : "library"
},
{
"c99name" : "QuranImageFeature",
"module_type" : "SwiftTarget",
"name" : "QuranImageFeature",
"path" : "Features/QuranImageFeature",
"product_memberships" : [
"QuranImageFeature",
"QuranContentFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"ContentImageBuilder.swift",
"ContentImageView.swift",
"ContentImageViewModel.swift"
],
"target_dependencies" : [
"AppDependencies",
"NoorUI",
"ImageService",
"ReadingService",
"QuranPagesFeature",
"QuranTextKit",
"Caching"
],
"type" : "library"
},
{
"c99name" : "QuranGeometry",
"module_type" : "SwiftTarget",
"name" : "QuranGeometry",
"path" : "Model/QuranGeometry",
"product_memberships" : [
"QuranGeometry",
"NoorUI",
"WordFramePersistence",
"QuranAudioKit",
"QuranTextKit",
"WordFrameService",
"ImageService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AyahNumberLocation.swift",
"ImagePage.swift",
"SuraHeaderLocation.swift",
"WordFrame.swift",
"WordFrameCollection.swift",
"WordFrameLine.swift",
"WordFrameScale.swift"
],
"target_dependencies" : [
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "QuranContentFeature",
"module_type" : "SwiftTarget",
"name" : "QuranContentFeature",
"path" : "Features/QuranContentFeature",
"product_memberships" : [
"QuranContentFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"ContentBuilder.swift",
"ContentViewController.swift",
"ContentViewModel.swift",
"PagesView.swift",
"QuranInput.swift"
],
"target_dependencies" : [
"QuranImageFeature",
"QuranTranslationFeature"
],
"type" : "library"
},
{
"c99name" : "QuranAudioKitTests",
"module_type" : "SwiftTarget",
"name" : "QuranAudioKitTests",
"path" : "Domain/QuranAudioKit/Tests",
"product_dependencies" : [
"SnapshotTesting"
],
"sources" : [
"AudioRequest+Extension.swift",
"GaplessAudioRequestBuilderTests.swift",
"GappedAudioRequestBuilderTests.swift",
"QueuePlayerFake.swift",
"QuranAudioDownloaderTests.swift",
"QuranAudioPlayerDelegateClosures.swift",
"QuranAudioPlayerTests.swift"
],
"target_dependencies" : [
"QuranAudioKit",
"SystemDependenciesFake",
"TranslationServiceFake",
"BatchDownloaderFake",
"ReciterServiceFake"
],
"type" : "test"
},
{
"c99name" : "QuranAudioKit",
"module_type" : "SwiftTarget",
"name" : "QuranAudioKit",
"path" : "Domain/QuranAudioKit/Sources",
"product_dependencies" : [
"Zip"
],
"product_memberships" : [
"QuranAudioKit",
"AyahMenuFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AudioPlayer/GaplessAudioRequestBuilder.swift",
"AudioPlayer/GappedAudioRequestBuilder.swift",
"AudioPlayer/QuranAudioPlayer.swift",
"AudioPlayer/QuranAudioRequestBuilder.swift",
"Dependencies/QueuingPlayer.swift",
"Downloads/Download+Types.swift",
"Downloads/QuranAudioDownloader.swift",
"Preferences/AudioEnd+Localization.swift",
"Preferences/AudioPreferences.swift",
"Preferences/PreferencesLastAyahFinder.swift"
],
"target_dependencies" : [
"BatchDownloader",
"AudioTimingService",
"ReciterService",
"QuranTextKit",
"QueuePlayer",
"SystemDependencies"
],
"type" : "library"
},
{
"c99name" : "QuranAudio",
"module_type" : "SwiftTarget",
"name" : "QuranAudio",
"path" : "Model/QuranAudio",
"product_memberships" : [
"QuranAudio",
"AudioTimingPersistence",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"ReciterListFeature",
"AyahMenuFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AudioDownloadedSize.swift",
"AudioEnd.swift",
"AyahTiming.swift",
"RangeTiming.swift",
"Reciter+URLs.swift",
"Reciter.swift",
"SuraTiming.swift",
"Timing.swift"
],
"target_dependencies" : [
"Utilities",
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "QuranAnnotations",
"module_type" : "SwiftTarget",
"name" : "QuranAnnotations",
"path" : "Model/QuranAnnotations",
"product_memberships" : [
"QuranAnnotations",
"NoorUI",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"LastPage.swift",
"Note.swift",
"PageBookmark.swift",
"QuranHighlights.swift"
],
"target_dependencies" : [
"QuranKit",
"QuranText"
],
"type" : "library"
},
{
"c99name" : "QueuePlayer",
"module_type" : "SwiftTarget",
"name" : "QueuePlayer",
"path" : "Core/QueuePlayer",
"product_memberships" : [
"QueuePlayer",
"QuranAudioKit",
"AyahMenuFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AudioInterruptionMonitor.swift",
"AudioPlayer.swift",
"AudioPlaying.swift",
"AudioRequest.swift",
"NowPlayingUpdater.swift",
"Player.swift",
"PlayerItemInfo.swift",
"QueuePlayer.swift",
"Runs.swift"
],
"target_dependencies" : [
"Timing"
],
"type" : "library"
},
{
"c99name" : "Preferences",
"module_type" : "SwiftTarget",
"name" : "Preferences",
"path" : "Core/Preferences",
"product_memberships" : [
"Preferences",
"AppMigrator",
"NoorUI",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordTextService",
"ReadingService",
"AnnotationsService",
"SettingsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"Preference.swift",
"PreferenceKey.swift",
"PreferenceTransformer.swift",
"Preferences.swift"
],
"type" : "library"
},
{
"c99name" : "PageBookmarkPersistenceTests",
"module_type" : "SwiftTarget",
"name" : "PageBookmarkPersistenceTests",
"path" : "Data/PageBookmarkPersistence/Tests",
"sources" : [
"CoreDataPageBookmarkPersistenceTests.swift"
],
"target_dependencies" : [
"PageBookmarkPersistence",
"AsyncUtilitiesForTesting",
"CoreDataPersistenceTestSupport"
],
"type" : "test"
},
{
"c99name" : "PageBookmarkPersistence",
"module_type" : "SwiftTarget",
"name" : "PageBookmarkPersistence",
"path" : "Data/PageBookmarkPersistence/Sources",
"product_memberships" : [
"PageBookmarkPersistence",
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"CoreDataPageBookmarkPersistence.swift",
"CoreDataPageBookmarkUniquifier.swift",
"PageBookmarkPersistence.swift",
"PageBookmarkPersistenceModel.swift"
],
"target_dependencies" : [
"CoreDataModel",
"CoreDataPersistence",
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "OAuthServiceFake",
"module_type" : "SwiftTarget",
"name" : "OAuthServiceFake",
"path" : "Core/OAuthServiceFake",
"product_memberships" : [
"OAuthServiceFake"
],
"sources" : [
"OAuthServiceFake.swift"
],
"target_dependencies" : [
"OAuthService"
],
"type" : "library"
},
{
"c99name" : "OAuthServiceAppAuthImpl",
"module_type" : "SwiftTarget",
"name" : "OAuthServiceAppAuthImpl",
"path" : "Core/OAuthServiceAppAuthImpl",
"product_dependencies" : [
"AppAuth"
],
"product_memberships" : [
"OAuthServiceAppAuthImpl",
"AuthenticationClient",
"QuranProfileService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"OAuthServiceAppAuthImpl.swift"
],
"target_dependencies" : [
"OAuthService",
"VLogging"
],
"type" : "library"
},
{
"c99name" : "OAuthService",
"module_type" : "SwiftTarget",
"name" : "OAuthService",
"path" : "Core/OAuthService",
"product_memberships" : [
"OAuthService",
"OAuthServiceAppAuthImpl",
"OAuthServiceFake",
"AuthenticationClient",
"QuranProfileService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"OAuthService.swift"
],
"type" : "library"
},
{
"c99name" : "NotesFeature",
"module_type" : "SwiftTarget",
"name" : "NotesFeature",
"path" : "Features/NotesFeature",
"product_memberships" : [
"NotesFeature",
"AppStructureFeature"
],
"sources" : [
"NoteItem.swift",
"NotesBuilder.swift",
"NotesView.swift",
"NotesViewController.swift",
"NotesViewModel.swift"
],
"target_dependencies" : [
"AnnotationsService",
"QuranTextKit",
"AppDependencies",
"FeaturesSupport",
"ReadingService",
"NoorUI"
],
"type" : "library"
},
{
"c99name" : "NotePersistenceTests",
"module_type" : "SwiftTarget",
"name" : "NotePersistenceTests",
"path" : "Data/NotePersistence/Tests",
"sources" : [
"CoreDataNotePersistenceTests.swift",
"CoreDataNoteUniquifierTests.swift"
],
"target_dependencies" : [
"NotePersistence",
"AsyncUtilitiesForTesting",
"CoreDataPersistenceTestSupport"
],
"type" : "test"
},
{
"c99name" : "NotePersistence",
"module_type" : "SwiftTarget",
"name" : "NotePersistence",
"path" : "Data/NotePersistence/Sources",
"product_memberships" : [
"NotePersistence",
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"CoreDataNotePersistence.swift",
"CoreDataNoteUniquifier.swift",
"NotePersistence.swift",
"NotePersistenceModel.swift"
],
"target_dependencies" : [
"CoreDataModel",
"CoreDataPersistence",
"SystemDependencies"
],
"type" : "library"
},
{
"c99name" : "NoteEditorFeature",
"module_type" : "SwiftTarget",
"name" : "NoteEditorFeature",
"path" : "Features/NoteEditorFeature",
"product_memberships" : [
"NoteEditorFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"NoteEditorBuilder.swift",
"NoteEditorInteractor.swift",
"NoteEditorViewController.swift"
],
"target_dependencies" : [
"AppDependencies",
"AnnotationsService",
"NoorUI"
],
"type" : "library"
},
{
"c99name" : "NoorUI",
"module_type" : "SwiftTarget",
"name" : "NoorUI",
"path" : "UI/NoorUI",
"product_dependencies" : [
"GenericDataSources"
],
"product_memberships" : [
"NoorUI",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"BaseControllers/BaseNavigationController.swift",
"BaseControllers/BaseViewController.swift",
"BaseControllers/UIViewController+Error.swift",
"Colors/Color+extension.swift",
"Components/ActiveRoundedButton.swift",
"Components/AppStoreDownloadButton.swift",
"Components/AppearanceModeSelector.swift",
"Components/ChoicesView.swift",
"Components/DataUnavailableView.swift",
"Components/DisclosureIndicator.swift",
"Components/DropdownButton.swift",
"Components/ErrorAlertModifier.swift",
"Components/List/NoorList.swift",
"Components/List/NoorListItem.swift",
"Components/List/NoorSection.swift",
"Components/LoadingView.swift",
"Components/MultipartText.swift",
"Components/ThemeStyleSelector.swift",
"Features/AudioBanner/AudioBannerViewUI.swift",
"Features/AyahMenu/AyahMenuUI.swift",
"Features/AyahMenu/AyahMenuView.swift",
"Features/Content/ContentStatusView.swift",
"Features/Note/EditableNote.swift",
"Features/Note/Note.Color++.swift",
"Features/Note/NoteCircle.swift",
"Features/Note/NoteEditorView.swift",
"Features/Note/UIViewController+Note.swift",
"Features/Quran/AdaptiveImageScrollView.swift",
"Features/Quran/ImageDecorationsView.swift",
"Features/Quran/QuranArabicText.swift",
"Features/Quran/QuranPageFooter.swift",
"Features/Quran/QuranPageHeader.swift",
"Features/Quran/QuranPageSeparators.swift",
"Features/Quran/QuranScrollingViewModifier.swift",
"Features/Quran/QuranSuraName.swift",
"Features/Quran/QuranThemedImage.swift",
"Features/Quran/QuranTranslationReferenceVerse.swift",
"Features/Quran/QuranTranslationTextChunk.swift",
"Features/Quran/QuranTranslatorName.swift",
"Features/Quran/QuranVerseSeparator.swift",
"Font/FontName++.swift",
"Font/FontSize++.swift",
"Formatters/TimeAgo.swift",
"Images/NoorImage.swift",
"Images/NoorSystemImage.swift",
"Miscellaneous/ContentDimension.swift",
"Miscellaneous/Dimensions.swift",
"Miscellaneous/ReadableInsetsViewModifier.swift",
"Miscellaneous/TestResource+Path.swift",
"Pager/PageViewController.swift",
"Shapes/Arc.swift",
"Theme/AppearanceModeViews.swift",
"Theme/QuranHighlights+Theme.swift",
"Theme/ThemeService.swift",
"Theme/ThemeStyleViews.swift"
],
"target_dependencies" : [
"UIx",
"Crashing",
"Localization",
"Preferences",
"QuranText",
"QuranAnnotations",
"QuranGeometry",
"NoorFont",
"VLogging"
],
"type" : "library"
},
{
"c99name" : "NoorFont",
"module_type" : "SwiftTarget",
"name" : "NoorFont",
"path" : "UI/NoorFont",
"product_memberships" : [
"NoorFont",
"NoorUI",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/UI/NoorFont/Resources/Kitab-Regular.ttf",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/UI/NoorFont/Resources/UthmanicHafs1B Ver13.ttf",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/UI/NoorFont/Resources/surah_names.ttf",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"FontName.swift"
],
"type" : "library"
},
{
"c99name" : "NetworkSupportTests",
"module_type" : "SwiftTarget",
"name" : "NetworkSupportTests",
"path" : "Data/NetworkSupport/Tests",
"sources" : [
"NetworkManagerTests.swift"
],
"target_dependencies" : [
"NetworkSupport",
"Utilities",
"AsyncUtilitiesForTesting",
"NetworkSupportFake"
],
"type" : "test"
},
{
"c99name" : "NetworkSupportFake",
"module_type" : "SwiftTarget",
"name" : "NetworkSupportFake",
"path" : "Data/NetworkSupportFake",
"product_dependencies" : [
"AsyncAlgorithms"
],
"product_memberships" : [
"NetworkSupportFake",
"BatchDownloaderFake"
],
"sources" : [
"NetworkSessionFake.swift"
],
"target_dependencies" : [
"NetworkSupport",
"AsyncUtilitiesForTesting"
],
"type" : "library"
},
{
"c99name" : "NetworkSupport",
"module_type" : "SwiftTarget",
"name" : "NetworkSupport",
"path" : "Data/NetworkSupport/Sources",
"product_memberships" : [
"NetworkSupport",
"NetworkSupportFake",
"BatchDownloader",
"BatchDownloaderFake",
"AudioUpdater",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"ReadingService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"AyahMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"NetworkError.swift",
"NetworkManager.swift",
"NetworkSession.swift"
],
"target_dependencies" : [
"Crashing",
"Localization"
],
"type" : "library"
},
{
"c99name" : "MoreMenuFeature",
"module_type" : "SwiftTarget",
"name" : "MoreMenuFeature",
"path" : "Features/MoreMenuFeature",
"product_memberships" : [
"MoreMenuFeature",
"TranslationVerseFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"MoreMenuBuilder.swift",
"MoreMenuController.swift",
"MoreMenuModel.swift",
"MoreMenuViewModel.swift",
"views/FontSizeStepper.swift",
"views/MoreMenuDeviceRotation.swift",
"views/MoreMenuEmpty.swift",
"views/MoreMenuFontSize.swift",
"views/MoreMenuModeSelector.swift",
"views/MoreMenuThemeSettings.swift",
"views/MoreMenuThemeSettingsViewModel.swift",
"views/MoreMenuTranslationSelector.swift",
"views/MoreMenuTwoPages.swift",
"views/MoreMenuVerticalScrolling.swift",
"views/MoreMenuView.swift",
"views/MoreMenuWordPointer.swift",
"views/MoreMenuWordPointerType.swift"
],
"target_dependencies" : [
"NoorUI",
"QuranTextKit",
"WordTextService"
],
"type" : "library"
},
{
"c99name" : "Locking",
"module_type" : "SwiftTarget",
"name" : "Locking",
"path" : "Core/Locking",
"product_memberships" : [
"Locking",
"Caching",
"Timing",
"WeakSet",
"Crashing",
"QueuePlayer",
"NoorUI",
"PageBookmarkPersistence",
"LastPagePersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"NetworkSupport",
"NetworkSupportFake",
"BatchDownloader",
"BatchDownloaderFake",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordTextService",
"ReadingService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"NSLocking+Extension.swift",
"Protected.swift"
],
"type" : "library"
},
{
"c99name" : "Localization",
"module_type" : "SwiftTarget",
"name" : "Localization",
"path" : "Core/Localization",
"product_memberships" : [
"Localization",
"NoorUI",
"SyncedPageBookmarkPersistence",
"SQLitePersistence",
"AudioTimingPersistence",
"WordFramePersistence",
"WordTextPersistence",
"VerseTextPersistence",
"TranslationPersistence",
"NetworkSupport",
"NetworkSupportFake",
"BatchDownloader",
"BatchDownloaderFake",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordFrameService",
"WordTextService",
"ImageService",
"ReadingService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ar.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "ar"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ar.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "ar"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ar.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "ar"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ar.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "ar"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ar.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "ar"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/de.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "de"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/de.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "de"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/de.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "de"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/de.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "de"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/de.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "de"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/en.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "en"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/en.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "en"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/en.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "en"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/en.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "en"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/en.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "en"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/es.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "es"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/es.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "es"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/es.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "es"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/es.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "es"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/es.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "es"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/fa.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "fa"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/fa.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "fa"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/fa.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "fa"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/fa.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "fa"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/fa.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "fa"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/fr.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "fr"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/fr.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "fr"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/fr.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "fr"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/fr.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "fr"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/fr.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "fr"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/kk.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "kk"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/kk.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "kk"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/kk.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "kk"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/kk.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "kk"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/kk.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "kk"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ms.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "ms"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ms.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "ms"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ms.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "ms"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ms.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "ms"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/nl.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "nl"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/nl.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "nl"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/nl.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "nl"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/nl.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "nl"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/nl.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "nl"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/pt.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "pt"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/pt.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "pt"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/pt.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "pt"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/pt.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "pt"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ru.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "ru"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ru.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "ru"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ru.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "ru"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ru.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "ru"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ru.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "ru"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/tr.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "tr"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/tr.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "tr"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/tr.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "tr"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/tr.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "tr"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ug.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "ug"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ug.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "ug"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ug.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "ug"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/ug.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "ug"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/uz.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "uz"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/uz.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "uz"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/uz.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "uz"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/uz.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "uz"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/uz.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "uz"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/vi.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "vi"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/vi.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "vi"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/vi.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "vi"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/vi.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "vi"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/vi.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "vi"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/zh.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "zh"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/zh.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "zh"
}
}
},
{
"path" : "/host/spi-builder-workspace/Core/Localization/Resources/zh.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "zh"
}
}
}
],
"sources" : [
"Localizations.swift",
"NumberFormatter+Extension.swift",
"resource_bundle.swift"
],
"type" : "library"
},
{
"c99name" : "LastPagePersistenceTests",
"module_type" : "SwiftTarget",
"name" : "LastPagePersistenceTests",
"path" : "Data/LastPagePersistence/Tests",
"sources" : [
"CoreDataLastPagePersistenceTests.swift",
"CoreDataLastPageUniquifierTests.swift"
],
"target_dependencies" : [
"LastPagePersistence",
"AsyncUtilitiesForTesting",
"CoreDataPersistenceTestSupport"
],
"type" : "test"
},
{
"c99name" : "LastPagePersistence",
"module_type" : "SwiftTarget",
"name" : "LastPagePersistence",
"path" : "Data/LastPagePersistence/Sources",
"product_memberships" : [
"LastPagePersistence",
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"CoreDataLastPageOverflowHandler.swift",
"CoreDataLastPagePersistence.swift",
"CoreDataLastPageUniquifier.swift",
"LastPagePersistence.swift",
"LastPagePersistenceModel.swift"
],
"target_dependencies" : [
"CoreDataModel",
"CoreDataPersistence"
],
"type" : "library"
},
{
"c99name" : "ImageServiceTests",
"module_type" : "SwiftTarget",
"name" : "ImageServiceTests",
"path" : "Domain/ImageService/Tests",
"product_dependencies" : [
"SnapshotTesting"
],
"sources" : [
"ImageDataServiceTests.swift",
"WordFrameTests.swift"
],
"target_dependencies" : [
"ImageService",
"ReadingService",
"TestResources"
],
"type" : "test"
},
{
"c99name" : "ImageService",
"module_type" : "SwiftTarget",
"name" : "ImageService",
"path" : "Domain/ImageService/Sources",
"product_memberships" : [
"ImageService",
"QuranImageFeature",
"QuranContentFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"ImageDataService.swift"
],
"target_dependencies" : [
"WordFrameService"
],
"type" : "library"
},
{
"c99name" : "HomeFeature",
"module_type" : "SwiftTarget",
"name" : "HomeFeature",
"path" : "Features/HomeFeature",
"product_memberships" : [
"HomeFeature",
"AppStructureFeature"
],
"sources" : [
"HomeBuilder.swift",
"HomeView.swift",
"HomeViewController.swift",
"HomeViewModel.swift",
"QuarterItem.swift"
],
"target_dependencies" : [
"AppDependencies",
"ReadingSelectorFeature",
"AnnotationsService",
"FeaturesSupport"
],
"type" : "library"
},
{
"c99name" : "FeaturesSupport",
"module_type" : "SwiftTarget",
"name" : "FeaturesSupport",
"path" : "Features/FeaturesSupport",
"product_memberships" : [
"FeaturesSupport",
"BookmarksFeature",
"NotesFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"Analytics.Screen.swift",
"CommonAnalytics.swift",
"QuranNavigator.swift"
],
"target_dependencies" : [
"BatchDownloader",
"Localization",
"Analytics",
"QuranAnnotations",
"NoorUI"
],
"type" : "library"
},
{
"c99name" : "Crashing",
"module_type" : "SwiftTarget",
"name" : "Crashing",
"path" : "Core/Crashing",
"product_memberships" : [
"Crashing",
"NoorUI",
"PageBookmarkPersistence",
"LastPagePersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"NetworkSupport",
"NetworkSupportFake",
"BatchDownloader",
"BatchDownloaderFake",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordTextService",
"ReadingService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"Crasher.swift",
"Global.swift"
],
"target_dependencies" : [
"Locking"
],
"type" : "library"
},
{
"c99name" : "CoreDataPersistenceTests",
"module_type" : "SwiftTarget",
"name" : "CoreDataPersistenceTests",
"path" : "Data/CoreDataPersistence/Tests",
"sources" : [
"CoreDataInsertedEntitiesRetrieverTests.swift",
"CoreDataPublisherTests.swift",
"CoreDataStackTests.swift",
"SimpleCoreDataEntityUniquifierTests.swift"
],
"target_dependencies" : [
"CoreDataPersistence",
"AsyncUtilitiesForTesting",
"CoreDataModel",
"CoreDataPersistenceTestSupport"
],
"type" : "test"
},
{
"c99name" : "CoreDataPersistenceTestSupport",
"module_type" : "SwiftTarget",
"name" : "CoreDataPersistenceTestSupport",
"path" : "Data/CoreDataPersistenceTestSupport",
"product_memberships" : [
"CoreDataPersistenceTestSupport"
],
"sources" : [
"CoreDataStack+Extensions.swift",
"LastPage+++.swift",
"Note+++.swift",
"PageBookmark+++.swift"
],
"target_dependencies" : [
"CoreDataPersistence",
"CoreDataModel",
"SystemDependenciesFake"
],
"type" : "library"
},
{
"c99name" : "CoreDataPersistence",
"module_type" : "SwiftTarget",
"name" : "CoreDataPersistence",
"path" : "Data/CoreDataPersistence/Sources",
"product_memberships" : [
"PageBookmarkPersistence",
"LastPagePersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"CoreDataPersistentHistoryProcessor.swift",
"CoreDataPublisher.swift",
"CoreDataStack.swift",
"CoreDataTypes.swift",
"NSManagedObjectContext+Extensions.swift",
"merging/CoreDataEntityUniquifier.swift",
"merging/CoreDataInsertedEntitiesRetriever.swift",
"merging/CoreDataPersistentHistoryTransactionsMerger.swift",
"merging/SimpleCoreDataEntityUniquifier.swift"
],
"target_dependencies" : [
"Utilities",
"VLogging",
"Crashing",
"SystemDependencies"
],
"type" : "library"
},
{
"c99name" : "CoreDataModel",
"module_type" : "SwiftTarget",
"name" : "CoreDataModel",
"path" : "Data/CoreDataModel",
"product_memberships" : [
"PageBookmarkPersistence",
"LastPagePersistence",
"NotePersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"Resources.swift",
"Schema.swift"
],
"target_dependencies" : [
"CoreDataPersistence"
],
"type" : "library"
},
{
"c99name" : "CachingTests",
"module_type" : "SwiftTarget",
"name" : "CachingTests",
"path" : "Core/Caching/Tests",
"sources" : [
"CacheTests.swift",
"OperationCacheableServiceTests.swift",
"PagesCacheableServiceTests.swift"
],
"target_dependencies" : [
"Caching",
"AsyncUtilitiesForTesting"
],
"type" : "test"
},
{
"c99name" : "Caching",
"module_type" : "SwiftTarget",
"name" : "Caching",
"path" : "Core/Caching/Sources",
"product_memberships" : [
"Caching",
"AudioBannerFeature",
"QuranPagesFeature",
"QuranImageFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationVerseFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"Cache.swift",
"OperationCacheableService.swift",
"PagesCacheableService.swift"
],
"target_dependencies" : [
"Locking",
"Utilities"
],
"type" : "library"
},
{
"c99name" : "BookmarksFeature",
"module_type" : "SwiftTarget",
"name" : "BookmarksFeature",
"path" : "Features/BookmarksFeature",
"product_memberships" : [
"BookmarksFeature",
"AppStructureFeature"
],
"sources" : [
"BookmarksBuilder.swift",
"BookmarksView.swift",
"BookmarksViewController.swift",
"BookmarksViewModel.swift"
],
"target_dependencies" : [
"AppDependencies",
"FeaturesSupport",
"AnnotationsService",
"NoorUI",
"ReadingService"
],
"type" : "library"
},
{
"c99name" : "BatchDownloaderTests",
"module_type" : "SwiftTarget",
"name" : "BatchDownloaderTests",
"path" : "Data/BatchDownloader/Tests",
"product_dependencies" : [
"AsyncAlgorithms"
],
"sources" : [
"DownloadManagerTests.swift",
"HistoryProgressListener.swift"
],
"target_dependencies" : [
"BatchDownloader",
"BatchDownloaderFake"
],
"type" : "test"
},
{
"c99name" : "BatchDownloaderFake",
"module_type" : "SwiftTarget",
"name" : "BatchDownloaderFake",
"path" : "Data/BatchDownloaderFake",
"product_memberships" : [
"BatchDownloaderFake"
],
"sources" : [
"BatchDownloaderFake.swift"
],
"target_dependencies" : [
"BatchDownloader",
"NetworkSupportFake"
],
"type" : "library"
},
{
"c99name" : "BatchDownloader",
"module_type" : "SwiftTarget",
"name" : "BatchDownloader",
"path" : "Data/BatchDownloader/Sources",
"product_memberships" : [
"BatchDownloader",
"BatchDownloaderFake",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"ReadingService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"AyahMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"DownloadProgress.swift",
"Downloader/DownloadBatchDataController.swift",
"Downloader/DownloadBatchResponse.swift",
"Downloader/DownloadManager.swift",
"Downloader/DownloadSessionDelegate.swift",
"Downloader/DownloadsObserver.swift",
"Downloader/DownloadsPersistence.swift",
"Downloader/GRDBDownloadsPersistence.swift",
"Entities/Download.swift",
"Entities/DownloadRequest.swift",
"Errors/FileSystemError.swift"
],
"target_dependencies" : [
"SQLitePersistence",
"Crashing",
"WeakSet",
"NetworkSupport",
"SystemDependencies"
],
"type" : "library"
},
{
"c99name" : "AyahMenuFeature",
"module_type" : "SwiftTarget",
"name" : "AyahMenuFeature",
"path" : "Features/AyahMenuFeature",
"product_memberships" : [
"AyahMenuFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"AyahMenuBuilder.swift",
"AyahMenuViewController.swift",
"AyahMenuViewModel.swift"
],
"target_dependencies" : [
"AppDependencies",
"QuranAudioKit",
"AnnotationsService",
"NoorUI"
],
"type" : "library"
},
{
"c99name" : "AuthenticationClientTests",
"module_type" : "SwiftTarget",
"name" : "AuthenticationClientTests",
"path" : "Data/AuthenticationClient/Tests",
"sources" : [
"AuthenticationClientTests.swift"
],
"target_dependencies" : [
"AuthenticationClient",
"AsyncUtilitiesForTesting",
"SystemDependenciesFake",
"OAuthServiceFake"
],
"type" : "test"
},
{
"c99name" : "AuthenticationClient",
"module_type" : "SwiftTarget",
"name" : "AuthenticationClient",
"path" : "Data/AuthenticationClient/Sources",
"product_dependencies" : [
"AppAuth"
],
"product_memberships" : [
"AuthenticationClient",
"QuranProfileService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AuthenticationClient.swift",
"AuthentincationClientImpl.swift"
],
"target_dependencies" : [
"OAuthService",
"VLogging",
"SystemDependencies",
"SecurePersistence",
"OAuthServiceAppAuthImpl"
],
"type" : "library"
},
{
"c99name" : "AudioUpdaterTests",
"module_type" : "SwiftTarget",
"name" : "AudioUpdaterTests",
"path" : "Domain/AudioUpdater/Tests",
"sources" : [
"AudioUpdaterTests.swift"
],
"target_dependencies" : [
"AudioUpdater",
"NetworkSupportFake",
"ReciterServiceFake",
"SystemDependenciesFake"
],
"type" : "test"
},
{
"c99name" : "AudioUpdater",
"module_type" : "SwiftTarget",
"name" : "AudioUpdater",
"path" : "Domain/AudioUpdater/Sources",
"product_memberships" : [
"AudioUpdater",
"AppStructureFeature"
],
"sources" : [
"AudioUpdate.swift",
"AudioUpdatePreferences.swift",
"AudioUpdater.swift",
"AudioUpdatesNetworkManager.swift",
"MD5Calculator.swift"
],
"target_dependencies" : [
"NetworkSupport",
"Preferences",
"AudioTimingPersistence",
"SystemDependencies",
"VLogging",
"Crashing",
"ReciterService"
],
"type" : "library"
},
{
"c99name" : "AudioTimingService",
"module_type" : "SwiftTarget",
"name" : "AudioTimingService",
"path" : "Domain/AudioTimingService",
"product_memberships" : [
"AudioTimingService",
"QuranAudioKit",
"AyahMenuFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"ReciterTimingRetriever.swift"
],
"target_dependencies" : [
"AudioTimingPersistence"
],
"type" : "library"
},
{
"c99name" : "AudioTimingPersistence",
"module_type" : "SwiftTarget",
"name" : "AudioTimingPersistence",
"path" : "Data/AudioTimingPersistence",
"product_memberships" : [
"AudioTimingPersistence",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"AyahMenuFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AyahTimingPersistence.swift",
"GRDBAyahTimingPersistence.swift"
],
"target_dependencies" : [
"SQLitePersistence",
"QuranAudio"
],
"type" : "library"
},
{
"c99name" : "AudioDownloadsFeature",
"module_type" : "SwiftTarget",
"name" : "AudioDownloadsFeature",
"path" : "Features/AudioDownloadsFeature",
"product_memberships" : [
"AudioDownloadsFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AudioDownloadItem.swift",
"AudioDownloadsBuilder.swift",
"AudioDownloadsView.swift",
"AudioDownloadsViewController.swift",
"AudioDownloadsViewModel.swift"
],
"target_dependencies" : [
"AppDependencies",
"QuranAudioKit",
"NoorUI",
"ReadingService"
],
"type" : "library"
},
{
"c99name" : "AudioBannerFeature",
"module_type" : "SwiftTarget",
"name" : "AudioBannerFeature",
"path" : "Features/AudioBannerFeature",
"product_memberships" : [
"AudioBannerFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"AudioBannerBuilder.swift",
"AudioBannerView.swift",
"AudioBannerViewModel.swift",
"RemoteCommandsHandler.swift"
],
"target_dependencies" : [
"Caching",
"AppDependencies",
"NoorUI",
"ReciterListFeature",
"AdvancedAudioOptionsFeature"
],
"type" : "library"
},
{
"c99name" : "AsyncUtilitiesForTesting",
"module_type" : "SwiftTarget",
"name" : "AsyncUtilitiesForTesting",
"path" : "Core/AsyncUtilitiesForTesting",
"product_dependencies" : [
"AsyncAlgorithms"
],
"product_memberships" : [
"AsyncUtilitiesForTesting",
"NetworkSupportFake",
"BatchDownloaderFake",
"TranslationServiceFake"
],
"sources" : [
"AsyncAlgorithms++.swift",
"AsyncAsserts.swift",
"PublisherCollector.swift",
"XCTestCase+PromiseKit.swift",
"XCTestCase+Publisher.swift"
],
"type" : "library"
},
{
"c99name" : "AppStructureFeature",
"module_type" : "SwiftTarget",
"name" : "AppStructureFeature",
"path" : "Features/AppStructureFeature",
"product_memberships" : [
"AppStructureFeature"
],
"sources" : [
"App/AppBuilder.swift",
"App/AppInteractor.swift",
"App/AppViewController.swift",
"Common/TabBuilder.swift",
"Common/TabInteractor.swift",
"Common/TabViewController.swift",
"Launch/LaunchBuilder.swift",
"Launch/LaunchStartup.swift",
"Tabs/BookmarksTab.swift",
"Tabs/HomeTab.swift",
"Tabs/NotesTab.swift",
"Tabs/SearchTab.swift",
"Tabs/SettingsTab.swift"
],
"target_dependencies" : [
"HomeFeature",
"BookmarksFeature",
"NotesFeature",
"SearchFeature",
"SettingsFeature",
"QuranViewFeature",
"WhatsNewFeature",
"AudioUpdater",
"AppMigrationFeature"
],
"type" : "library"
},
{
"c99name" : "AppMigratorTests",
"module_type" : "SwiftTarget",
"name" : "AppMigratorTests",
"path" : "Core/AppMigrator/Tests",
"sources" : [
"AppMigratorTests.swift"
],
"target_dependencies" : [
"AppMigrator",
"SystemDependenciesFake"
],
"type" : "test"
},
{
"c99name" : "AppMigrator",
"module_type" : "SwiftTarget",
"name" : "AppMigrator",
"path" : "Core/AppMigrator/Sources",
"product_memberships" : [
"AppMigrator",
"AppMigrationFeature",
"AppStructureFeature"
],
"sources" : [
"AppMigrator.swift",
"AppVersionUpdater.swift"
],
"target_dependencies" : [
"Preferences",
"VLogging",
"SystemDependencies"
],
"type" : "library"
},
{
"c99name" : "AppMigrationFeature",
"module_type" : "SwiftTarget",
"name" : "AppMigrationFeature",
"path" : "Features/AppMigrationFeature",
"product_dependencies" : [
"NVActivityIndicatorView"
],
"product_memberships" : [
"AppMigrationFeature",
"AppStructureFeature"
],
"sources" : [
"FileSystemMigrator.swift",
"MigrationViewController.swift",
"RecitersPathMigrator.swift"
],
"target_dependencies" : [
"AppMigrator",
"ReciterService",
"Utilities",
"NoorUI"
],
"type" : "library"
},
{
"c99name" : "AppDependencies",
"module_type" : "SwiftTarget",
"name" : "AppDependencies",
"path" : "Features/AppDependencies",
"product_memberships" : [
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AppDependencies.swift"
],
"target_dependencies" : [
"NotePersistence",
"QuranTextKit",
"Analytics",
"AnnotationsService",
"BatchDownloader",
"LastPagePersistence",
"ReadingService",
"QuranResources",
"AuthenticationClient"
],
"type" : "library"
},
{
"c99name" : "AnnotationsServiceTests",
"module_type" : "SwiftTarget",
"name" : "AnnotationsServiceTests",
"path" : "Domain/AnnotationsService/Tests",
"sources" : [
"EmptyTests.swift"
],
"target_dependencies" : [
"AnnotationsService"
],
"type" : "test"
},
{
"c99name" : "AnnotationsService",
"module_type" : "SwiftTarget",
"name" : "AnnotationsService",
"path" : "Domain/AnnotationsService/Sources",
"product_memberships" : [
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AnalyticsLibrary+Events.swift",
"LastPageService.swift",
"LastPageUpdater.swift",
"NoteService.swift",
"PageBookmarkService.swift",
"QuranHighlightsService.swift"
],
"target_dependencies" : [
"QuranAnnotations",
"LastPagePersistence",
"NotePersistence",
"PageBookmarkPersistence",
"Preferences",
"QuranTextKit",
"Localization",
"Analytics"
],
"type" : "library"
},
{
"c99name" : "Analytics",
"module_type" : "SwiftTarget",
"name" : "Analytics",
"path" : "Core/Analytics",
"product_memberships" : [
"Analytics",
"AnnotationsService",
"SettingsService",
"AppDependencies",
"FeaturesSupport",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AnalyticsLibrary.swift"
],
"target_dependencies" : [
"VLogging"
],
"type" : "library"
},
{
"c99name" : "AllTargetsTests",
"module_type" : "SwiftTarget",
"name" : "AllTargetsTests",
"path" : "AllTargetsTests",
"sources" : [
"Empty.swift"
],
"target_dependencies" : [
"SystemDependencies",
"SystemDependenciesFake",
"Locking",
"Preferences",
"VLogging",
"Analytics",
"Caching",
"Timing",
"WeakSet",
"Crashing",
"Utilities",
"AppMigrator",
"Localization",
"QueuePlayer",
"AsyncUtilitiesForTesting",
"OAuthService",
"SecurePersistence",
"OAuthServiceAppAuthImpl",
"OAuthServiceFake",
"QuranKit",
"QuranGeometry",
"QuranAudio",
"QuranText",
"QuranAnnotations",
"ViewConstrainer",
"UIx",
"NoorFont",
"NoorUI",
"PageBookmarkPersistence",
"SyncedPageBookmarkPersistence",
"LastPagePersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"SQLitePersistence",
"AudioTimingPersistence",
"WordFramePersistence",
"WordTextPersistence",
"VerseTextPersistence",
"TranslationPersistence",
"NetworkSupport",
"NetworkSupportFake",
"BatchDownloader",
"BatchDownloaderFake",
"AuthenticationClient",
"QuranResources",
"TestResources",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordFrameService",
"WordTextService",
"ImageService",
"ReadingService",
"AnnotationsService",
"SettingsService",
"QuranProfileService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"type" : "test"
},
{
"c99name" : "AdvancedAudioOptionsFeature",
"module_type" : "SwiftTarget",
"name" : "AdvancedAudioOptionsFeature",
"path" : "Features/AdvancedAudioOptionsFeature",
"product_memberships" : [
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"AdvancedAudioOptions.swift",
"AdvancedAudioOptionsBuilder.swift",
"AdvancedAudioOptionsView.swift",
"AdvancedAudioOptionsViewModel.swift",
"AdvancedAudioVersesViewController.swift",
"Runs++.swift"
],
"target_dependencies" : [
"ReciterListFeature",
"QuranAudioKit"
],
"type" : "library"
}
],
"tools_version" : "5.8"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Fetching https://github.com/mohamede1945/Popover
[1/336] Fetching popover
Fetched https://github.com/mohamede1945/Popover from cache (0.40s)
Fetching https://github.com/pointfreeco/combine-schedulers
Fetching https://github.com/pointfreeco/swift-snapshot-testing
Fetching https://github.com/ninjaprox/NVActivityIndicatorView
Fetching https://github.com/GenericDataSource/GenericDataSource
Fetching https://github.com/openid/AppAuth-iOS
Fetching https://github.com/SvenTiigi/WhatsNewKit
[1/3656] Fetching whatsnewkit
[2/6066] Fetching whatsnewkit, combine-schedulers
[100/11868] Fetching whatsnewkit, combine-schedulers, nvactivityindicatorview
[2400/13683] Fetching whatsnewkit, combine-schedulers, nvactivityindicatorview, genericdatasource
Fetched https://github.com/pointfreeco/combine-schedulers from cache (1.24s)
[5586/11273] Fetching whatsnewkit, nvactivityindicatorview, genericdatasource
Fetching https://github.com/apple/swift-async-algorithms
[5877/20371] Fetching whatsnewkit, nvactivityindicatorview, genericdatasource, appauth-ios
[10638/33560] Fetching whatsnewkit, nvactivityindicatorview, genericdatasource, appauth-ios, swift-snapshot-testing
[19058/38545] Fetching whatsnewkit, nvactivityindicatorview, genericdatasource, appauth-ios, swift-snapshot-testing, swift-async-algorithms
Fetched https://github.com/apple/swift-async-algorithms from cache (0.64s)
Fetching https://github.com/groue/GRDB.swift
[21427/33560] Fetching whatsnewkit, nvactivityindicatorview, genericdatasource, appauth-ios, swift-snapshot-testing
Fetched https://github.com/GenericDataSource/GenericDataSource from cache (2.07s)
Fetching https://github.com/marmelroy/Zip
[21062/31745] Fetching whatsnewkit, nvactivityindicatorview, appauth-ios, swift-snapshot-testing
Fetched https://github.com/SvenTiigi/WhatsNewKit from cache (2.09s)
Fetching https://github.com/apple/swift-collections
[18066/28089] Fetching nvactivityindicatorview, appauth-ios, swift-snapshot-testing
[21100/139417] Fetching nvactivityindicatorview, appauth-ios, swift-snapshot-testing, grdb.swift
[41450/141406] Fetching nvactivityindicatorview, appauth-ios, swift-snapshot-testing, grdb.swift, zip
Fetched https://github.com/openid/AppAuth-iOS from cache (3.12s)
Fetching https://github.com/apple/swift-log
Fetched https://github.com/ninjaprox/NVActivityIndicatorView from cache (3.14s)
[27028/143097] Fetching swift-snapshot-testing, grdb.swift, zip, swift-collections
Fetched https://github.com/pointfreeco/swift-snapshot-testing from cache (3.21s)
[15418/129908] Fetching grdb.swift, zip, swift-collections
[38332/133744] Fetching grdb.swift, zip, swift-collections, swift-log
Fetched https://github.com/marmelroy/Zip from cache (2.00s)
[51599/131755] Fetching grdb.swift, swift-collections, swift-log
Fetched https://github.com/apple/swift-log from cache (1.13s)
Fetched https://github.com/apple/swift-collections from cache (2.18s)
[32286/111328] Fetching grdb.swift
Fetched https://github.com/groue/GRDB.swift from cache (16.83s)
Computing version for https://github.com/SvenTiigi/WhatsNewKit
Computed https://github.com/SvenTiigi/WhatsNewKit at 1.3.7 (21.29s)
Computing version for https://github.com/GenericDataSource/GenericDataSource
Computed https://github.com/GenericDataSource/GenericDataSource at 3.1.3 (0.89s)
Computing version for https://github.com/apple/swift-async-algorithms
Computed https://github.com/apple/swift-async-algorithms at 0.1.0 (0.97s)
Computing version for https://github.com/marmelroy/Zip
Computed https://github.com/marmelroy/Zip at 2.1.2 (0.64s)
Computing version for https://github.com/groue/GRDB.swift
Computed https://github.com/groue/GRDB.swift at 6.29.3 (0.72s)
Computing version for https://github.com/pointfreeco/combine-schedulers
Computed https://github.com/pointfreeco/combine-schedulers at 1.0.3 (0.66s)
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay
Fetching https://github.com/pointfreeco/swift-concurrency-extras
[1/852] Fetching swift-concurrency-extras
[853/6310] Fetching swift-concurrency-extras, xctest-dynamic-overlay
Fetched https://github.com/pointfreeco/swift-concurrency-extras from cache (1.29s)
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay from cache (1.30s)
Computing version for https://github.com/ninjaprox/NVActivityIndicatorView
Computed https://github.com/ninjaprox/NVActivityIndicatorView at 5.2.0 (1.97s)
Computing version for https://github.com/pointfreeco/swift-concurrency-extras
Computed https://github.com/pointfreeco/swift-concurrency-extras at 1.3.1 (0.74s)
Computing version for https://github.com/apple/swift-collections
Computed https://github.com/apple/swift-collections at 1.2.0 (0.73s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (0.54s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay
Computed https://github.com/pointfreeco/xctest-dynamic-overlay at 1.5.2 (0.53s)
Computing version for https://github.com/openid/AppAuth-iOS
Computed https://github.com/openid/AppAuth-iOS at 1.7.6 (0.66s)
Computing version for https://github.com/pointfreeco/swift-snapshot-testing
Computed https://github.com/pointfreeco/swift-snapshot-testing at 1.18.4 (0.65s)
Fetching https://github.com/pointfreeco/swift-custom-dump
Fetching https://github.com/swiftlang/swift-syntax
[1/4581] Fetching swift-custom-dump
Fetched https://github.com/pointfreeco/swift-custom-dump from cache (0.43s)
[1/70452] Fetching swift-syntax
Fetched https://github.com/swiftlang/swift-syntax from cache (5.58s)
Computing version for https://github.com/pointfreeco/swift-custom-dump
Computed https://github.com/pointfreeco/swift-custom-dump at 1.3.3 (6.99s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 601.0.1 (0.83s)
Creating working copy for https://github.com/pointfreeco/swift-custom-dump
Working copy of https://github.com/pointfreeco/swift-custom-dump resolved at 1.3.3
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay resolved at 1.5.2
Creating working copy for https://github.com/apple/swift-collections
Working copy of https://github.com/apple/swift-collections resolved at 1.2.0
Creating working copy for https://github.com/pointfreeco/swift-concurrency-extras
Working copy of https://github.com/pointfreeco/swift-concurrency-extras resolved at 1.3.1
Creating working copy for https://github.com/ninjaprox/NVActivityIndicatorView
Working copy of https://github.com/ninjaprox/NVActivityIndicatorView resolved at 5.2.0
Creating working copy for https://github.com/pointfreeco/combine-schedulers
Working copy of https://github.com/pointfreeco/combine-schedulers resolved at 1.0.3
Creating working copy for https://github.com/apple/swift-async-algorithms
Working copy of https://github.com/apple/swift-async-algorithms resolved at 0.1.0
Creating working copy for https://github.com/mohamede1945/Popover
Working copy of https://github.com/mohamede1945/Popover resolved at master (9641cb3)
Creating working copy for https://github.com/groue/GRDB.swift
Working copy of https://github.com/groue/GRDB.swift resolved at 6.29.3
Creating working copy for https://github.com/GenericDataSource/GenericDataSource
Working copy of https://github.com/GenericDataSource/GenericDataSource resolved at 3.1.3
Creating working copy for https://github.com/marmelroy/Zip
Working copy of https://github.com/marmelroy/Zip resolved at 2.1.2
Creating working copy for https://github.com/SvenTiigi/WhatsNewKit
Working copy of https://github.com/SvenTiigi/WhatsNewKit resolved at 1.3.7
Creating working copy for https://github.com/pointfreeco/swift-snapshot-testing
Working copy of https://github.com/pointfreeco/swift-snapshot-testing resolved at 1.18.4
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.3
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 601.0.1
Creating working copy for https://github.com/openid/AppAuth-iOS
Working copy of https://github.com/openid/AppAuth-iOS resolved at 1.7.6
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/UI/UIx/SwiftUI/Epoxy/README.md
warning: 'spi-builder-workspace': found 2 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/UI/NoorUI/Images/Images.xcassets
/host/spi-builder-workspace/UI/NoorUI/Colors/Colors.xcassets
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/Data/CoreDataModel/Quran.xcdatamodeld
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/Features/AppMigrationFeature/MigrationViewController.xib
Building for debugging...
[0/213] Write sources
[40/213] Copying whats-new.plist
[40/213] Copying Info.plist
[40/213] Copying surah_names.ttf
[40/213] Copying UthmanicHafs1B Ver13.ttf
[40/213] Copying Kitab-Regular.ttf
[40/213] Copying Info.plist
[40/213] Copying Localizable.strings
[40/213] Copying Android.stringsdict
[40/213] Copying Android.strings
[40/213] Copying Suras.strings
[40/213] Copying Readers.strings
[40/213] Copying Localizable.strings
[40/213] Copying Android.stringsdict
[40/213] Copying Android.strings
[40/213] Copying Suras.strings
[40/213] Copying Readers.strings
[40/213] Copying Localizable.strings
[40/213] Copying Android.stringsdict
[61/213] Write sources
[62/213] Copying Readers.strings
[62/213] Write sources
[64/213] Copying Android.stringsdict
[64/213] Copying Localizable.strings
[64/213] Write sources
[64/213] Copying Android.strings
[64/213] Copying Localizable.strings
[64/213] Copying Android.strings
[64/213] Copying Suras.strings
[64/213] Copying Readers.strings
[64/213] Copying Localizable.strings
[64/213] Copying Android.stringsdict
[64/213] Copying Readers.strings
[64/213] Copying Localizable.strings
[64/213] Copying Android.stringsdict
[64/213] Copying Readers.strings
[64/213] Copying Localizable.strings
[64/213] Copying Android.stringsdict
[64/213] Copying Suras.strings
[64/213] Copying Android.strings
[64/213] Copying Info.plist
[64/213] Copying Android.stringsdict
[64/213] Copying Android.strings
[64/213] Copying Suras.strings
[64/213] Copying Readers.strings
[64/213] Copying Localizable.strings
[64/213] Copying Android.stringsdict
[64/213] Copying Android.strings
[64/213] Copying Suras.strings
[64/213] Copying Readers.strings
[64/213] Copying Localizable.strings
[64/213] Copying Android.stringsdict
[64/213] Copying Suras.strings
[64/213] Copying Readers.strings
[64/213] Copying Localizable.strings
[64/213] Copying Android.strings
[64/213] Copying Android.stringsdict
[64/213] Copying Readers.strings
[64/213] Copying Android.strings
[64/213] Copying Suras.strings
[64/213] Copying Android.stringsdict
[64/213] Copying Localizable.strings
[64/213] Copying Android.strings
[64/213] Copying Localizable.strings
[64/213] Copying Suras.strings
[64/213] Copying Localizable.strings
[64/213] Copying Readers.strings
[64/213] Copying Android.stringsdict
[64/213] Copying Android.strings
[64/213] Copying Readers.strings
[64/213] Copying Localizable.strings
[64/213] Copying Suras.strings
[64/213] Copying Android.stringsdict
[64/213] Copying Suras.strings
[64/213] Copying Readers.strings
[64/213] Copying Localizable.strings
[64/213] Copying Android.stringsdict
[64/213] Copying Android.strings
[64/213] Write sources
[64/213] Copying Info.plist
[64/213] Write sources
[64/213] Copying Android.strings
[64/213] Write sources
[64/213] Copying Android.strings
[64/213] Write sources
[148/213] Copying Databases
[149/213] Copying test_data
[149/213] Write sources
[161/213] Copying PrivacyInfo.xcprivacy
[162/213] Copying Info.plist
[163/213] Write sources
[191/213] Copying PrivacyInfo.xcprivacy
In file included from /host/spi-builder-workspace/.build/checkouts/Popover/PopoverView/PopoverView.m:9:
/host/spi-builder-workspace/.build/checkouts/Popover/PopoverView/include/PopoverView.h:9:9: fatal error: 'UIKit/UIKit.h' file not found
9 | #import <UIKit/UIKit.h>
| ^~~~~~~~~~~~~~~
1 error generated.
[192/213] Compiling Popover_OC PopoverView.m
In file included from /host/spi-builder-workspace/.build/checkouts/Popover/PopoverView/PopoverViewCell.m:9:
/host/spi-builder-workspace/.build/checkouts/Popover/PopoverView/PopoverViewCell.h:9:9: fatal error: 'UIKit/UIKit.h' file not found
9 | #import <UIKit/UIKit.h>
| ^~~~~~~~~~~~~~~
1 error generated.
[192/213] Compiling Popover_OC PopoverViewCell.m
[192/213] Compiling AppAuth resource_bundle_accessor.m
In file included from /host/spi-builder-workspace/.build/checkouts/Popover/PopoverView/PopoverAction.m:9:
/host/spi-builder-workspace/.build/checkouts/Popover/PopoverView/include/PopoverAction.h:9:9: fatal error: 'Foundation/Foundation.h' file not found
9 | #import <Foundation/Foundation.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[192/213] Compiling Popover_OC PopoverAction.m
[192/213] Compiling Minizip unzip.c
[192/213] Compiling Minizip ioapi.c
[192/213] Compiling Minizip zip.c
[192/213] Write swift-version-24593BA9C3E375BF.txt
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/UI/UIx/SwiftUI/Epoxy/README.md
warning: 'spi-builder-workspace': found 2 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/UI/NoorUI/Colors/Colors.xcassets
/host/spi-builder-workspace/UI/NoorUI/Images/Images.xcassets
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/Data/CoreDataModel/Quran.xcdatamodeld
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/Features/AppMigrationFeature/MigrationViewController.xib
[0/1] Planning build
Building for debugging...
[0/21] Write sources
In file included from /host/spi-builder-workspace/.build/checkouts/Popover/PopoverView/PopoverViewCell.m:9:
/host/spi-builder-workspace/.build/checkouts/Popover/PopoverView/PopoverViewCell.h:9:9: fatal error: 'UIKit/UIKit.h' file not found
9 | #import <UIKit/UIKit.h>
| ^~~~~~~~~~~~~~~
1 error generated.
[3/21] Compiling Popover_OC PopoverViewCell.m
[3/21] Compiling Minizip ioapi.c
In file included from /host/spi-builder-workspace/.build/checkouts/Popover/PopoverView/PopoverView.m:9:
/host/spi-builder-workspace/.build/checkouts/Popover/PopoverView/include/PopoverView.h:9:9: fatal error: 'UIKit/UIKit.h' file not found
9 | #import <UIKit/UIKit.h>
| ^~~~~~~~~~~~~~~
1 error generated.
[3/21] Compiling Popover_OC PopoverView.m
[3/21] Compiling Minizip unzip.c
[3/21] Compiling Popover_OC PopoverAction.m
[3/21] Compiling OIDRedirectHTTPHandler.m
[3/21] Compiling Minizip zip.c
[3/21] Write swift-version-24593BA9C3E375BF.txt
BUILD FAILURE 6.1 android