Build Information
Successful build of QuranEngine, reference 3.0.2 (3e25d1), with Swift 6.3 for iOS using Xcode 26.4 on 12 Oct 2026 09:50:01 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme QuranEngine-Package -destination generic/platform=iOSBuild Log
ExtractAppIntentsMetadata (in target 'AppStructureFeature' from project 'QuranEngine')
cd /Users/admin/builder/spi-builder-workspace
/Applications/Xcode-26.5.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/appintentsmetadataprocessor --toolchain-dir /var/run/com.apple.security.cryptexd/mnt/com.apple.MobileAsset.MetalToolchain-v17.6.42.0.SecNVs/Metal.xctoolchain --module-name AppStructureFeature --sdk-root /Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.5.sdk --xcode-version 17F42 --platform-family iOS --deployment-target 15.0 --bundle-identifier spi-builder-workspace.AppStructureFeature --output /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-iphoneos/AppStructureFeature.appintents --target-triple arm64-apple-ios15.0 --binary-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-iphoneos/AppStructureFeature.o --dependency-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/QuranEngine.build/Debug-iphoneos/AppStructureFeature.build/Objects-normal/arm64/AppStructureFeature_dependency_info.dat --stringsdata-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/QuranEngine.build/Debug-iphoneos/AppStructureFeature.build/Objects-normal/arm64/ExtractedAppShortcutsMetadata.stringsdata --source-file-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/QuranEngine.build/Debug-iphoneos/AppStructureFeature.build/Objects-normal/arm64/AppStructureFeature.SwiftFileList --metadata-file-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/QuranEngine.build/Debug-iphoneos/AppStructureFeature.build/AppStructureFeature.DependencyMetadataFileList --static-metadata-file-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/QuranEngine.build/Debug-iphoneos/AppStructureFeature.build/AppStructureFeature.DependencyStaticMetadataFileList --swift-const-vals-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/QuranEngine.build/Debug-iphoneos/AppStructureFeature.build/Objects-normal/arm64/AppStructureFeature.SwiftConstValuesFileList --force --compile-time-extraction --deployment-aware-processing --validate-assistant-intents --no-app-shortcuts-localization
2026-10-12 05:49:57.791 appintentsmetadataprocessor[2883:20531] Starting appintentsmetadataprocessor export
2026-10-12 05:49:57.800 appintentsmetadataprocessor[2883:20531] Extracted no relevant App Intents symbols, skipping writing output
RegisterExecutionPolicyException /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-iphoneos/AppStructureFeature.o (in target 'AppStructureFeature' from project 'QuranEngine')
cd /Users/admin/builder/spi-builder-workspace
builtin-RegisterExecutionPolicyException /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-iphoneos/AppStructureFeature.o
** BUILD SUCCEEDED **
2026-10-12 05:47:32.548 xcodebuild[1270:6970] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
2026-10-12 05:47:32.637 xcodebuild[1270:6970] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
Build complete.
{
"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" : "genericdatasource",
"requirement" : {
"range" : [
{
"lower_bound" : "3.1.3",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/GenericDataSource/GenericDataSource"
},
{
"identity" : "popover",
"requirement" : {
"branch" : [
"master"
]
},
"type" : "sourceControl",
"url" : "https://github.com/mohamede1945/Popover"
},
{
"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" : "/Users/admin/builder/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" : "AsyncUtilitiesForTesting",
"targets" : [
"AsyncUtilitiesForTesting"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranKit",
"targets" : [
"QuranKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QuranLocalization",
"targets" : [
"QuranLocalization"
],
"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" : "MobileSyncTestSupport",
"targets" : [
"MobileSyncTestSupport"
],
"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" : "LegacyDataPersistence",
"targets" : [
"LegacyDataPersistence"
],
"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" : "LinePagePersistence",
"targets" : [
"LinePagePersistence"
],
"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" : "AuthenticationClientFake",
"targets" : [
"AuthenticationClientFake"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "QueuePlayer",
"targets" : [
"QueuePlayer"
],
"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" : "LegacyDataMigration",
"targets" : [
"LegacyDataMigration"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SettingsService",
"targets" : [
"SettingsService"
],
"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" : "ReadingBookmarkMenuFeature",
"targets" : [
"ReadingBookmarkMenuFeature"
],
"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" : "AppIconFeature",
"targets" : [
"AppIconFeature"
],
"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/Sources",
"product_memberships" : [
"WordTextPersistence",
"WordTextService",
"WordPointerFeature",
"MoreMenuFeature",
"TranslationVerseFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"GRDBWordTextPersistence.swift",
"WordTextPersistence.swift"
],
"target_dependencies" : [
"SQLitePersistence",
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "WordPointerFeatureTests",
"module_type" : "SwiftTarget",
"name" : "WordPointerFeatureTests",
"path" : "Features/WordPointerFeature/Tests",
"sources" : [
"WordPointerViewModelTests.swift"
],
"target_dependencies" : [
"WordPointerFeature",
"QuranKit",
"TestResources"
],
"type" : "test"
},
{
"c99name" : "WordPointerFeature",
"module_type" : "SwiftTarget",
"name" : "WordPointerFeature",
"path" : "Features/WordPointerFeature/Sources",
"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/Sources",
"product_memberships" : [
"QuranAudioKit",
"QuranTextKit",
"WordFrameService",
"ImageService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"WordFrame+Extension.swift",
"WordFrameProcessor.swift"
],
"target_dependencies" : [
"WordFramePersistence"
],
"type" : "library"
},
{
"c99name" : "WordFramePersistence",
"module_type" : "SwiftTarget",
"name" : "WordFramePersistence",
"path" : "Data/WordFramePersistence/Sources",
"product_memberships" : [
"WordFramePersistence",
"QuranAudioKit",
"QuranTextKit",
"WordFrameService",
"ImageService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"GRDBWordFramePersistence.swift",
"WordFramePersistence.swift"
],
"target_dependencies" : [
"SQLitePersistence",
"QuranGeometry"
],
"type" : "library"
},
{
"c99name" : "WhatsNewFeatureTests",
"module_type" : "SwiftTarget",
"name" : "WhatsNewFeatureTests",
"path" : "Features/WhatsNewFeature/Tests",
"sources" : [
"AppWhatsNewControllerTests.swift"
],
"target_dependencies" : [
"WhatsNewFeature",
"Analytics",
"AppMigrator"
],
"type" : "test"
},
{
"c99name" : "WhatsNewFeature",
"module_type" : "SwiftTarget",
"name" : "WhatsNewFeature",
"path" : "Features/WhatsNewFeature/Sources",
"product_memberships" : [
"WhatsNewFeature",
"AppStructureFeature"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Features/WhatsNewFeature/Sources/whats-new.plist",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"AppIconRevealArtwork.swift",
"AppIconRevealStyle.swift",
"AppIconRevealView.swift",
"AppIconRevealViewController.swift",
"AppWhatsNew.swift",
"AppWhatsNewController.swift",
"AppWhatsNewPlan.swift",
"AppWhatsNewVersionStore.swift",
"AppWhatsNewView.swift"
],
"target_dependencies" : [
"NoorUI",
"Analytics",
"AppMigrator",
"Localization",
"UIx",
"VLogging"
],
"type" : "library"
},
{
"c99name" : "WeakSet",
"module_type" : "SwiftTarget",
"name" : "WeakSet",
"path" : "Core/WeakSet/Sources",
"product_memberships" : [
"WeakSet",
"BatchDownloader",
"BatchDownloaderFake",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"ReadingService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"UnsafeWeakSet.swift",
"WeakSet.swift"
],
"target_dependencies" : [
"Locking"
],
"type" : "library"
},
{
"c99name" : "ViewConstrainer",
"module_type" : "SwiftTarget",
"name" : "ViewConstrainer",
"path" : "UI/ViewConstrainer/Sources",
"product_memberships" : [
"ViewConstrainer",
"UIx",
"NoorUI",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"GroupConstrainer.swift",
"SingleConstrainer.swift",
"UIView+Const.swift",
"ViewConstrainer.swift"
],
"type" : "library"
},
{
"c99name" : "VerseTextPersistenceTests",
"module_type" : "SwiftTarget",
"name" : "VerseTextPersistenceTests",
"path" : "Data/VerseTextPersistence/Tests",
"product_dependencies" : [
"GRDB"
],
"sources" : [
"GRDBVerseTextPersistenceTests.swift"
],
"target_dependencies" : [
"VerseTextPersistence",
"QuranKit"
],
"type" : "test"
},
{
"c99name" : "VerseTextPersistence",
"module_type" : "SwiftTarget",
"name" : "VerseTextPersistence",
"path" : "Data/VerseTextPersistence/Sources",
"product_memberships" : [
"VerseTextPersistence",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"DatabaseVersionPersistence.swift",
"GRDBDatabaseVersionPersistence.swift",
"GRDBVerseTextPersistence.swift",
"VerseTextPersistence.swift"
],
"target_dependencies" : [
"Crashing",
"SQLitePersistence",
"QuranKit",
"QuranText"
],
"type" : "library"
},
{
"c99name" : "VLogging",
"module_type" : "SwiftTarget",
"name" : "VLogging",
"path" : "Core/VLogging/Sources",
"product_dependencies" : [
"Logging"
],
"product_memberships" : [
"VLogging",
"Analytics",
"AppMigrator",
"UIx",
"NoorUI",
"PageBookmarkPersistence",
"SyncedPageBookmarkPersistence",
"LastPagePersistence",
"LegacyDataPersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"SQLitePersistence",
"AudioTimingPersistence",
"WordFramePersistence",
"LinePagePersistence",
"WordTextPersistence",
"VerseTextPersistence",
"TranslationPersistence",
"BatchDownloader",
"BatchDownloaderFake",
"AuthenticationClient",
"AuthenticationClientFake",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordFrameService",
"WordTextService",
"ImageService",
"ReadingService",
"AnnotationsService",
"LegacyDataMigration",
"SettingsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"Logger.swift"
],
"type" : "library"
},
{
"c99name" : "UtilitiesTests",
"module_type" : "SwiftTarget",
"name" : "UtilitiesTests",
"path" : "Core/Utilities/Tests",
"sources" : [
"AnyAsyncSequenceTests.swift",
"AsyncPublisherTests.swift",
"AsyncThrowingPublisherTests.swift",
"PublishedBindingTests.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",
"QuranAudio",
"QuranText",
"QuranAnnotations",
"NoorUI",
"PageBookmarkPersistence",
"SyncedPageBookmarkPersistence",
"LastPagePersistence",
"LegacyDataPersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"SQLitePersistence",
"AudioTimingPersistence",
"WordFramePersistence",
"LinePagePersistence",
"WordTextPersistence",
"VerseTextPersistence",
"TranslationPersistence",
"BatchDownloader",
"BatchDownloaderFake",
"QueuePlayer",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordFrameService",
"WordTextService",
"ImageService",
"ReadingService",
"AnnotationsService",
"LegacyDataMigration",
"SettingsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"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/AnyAsyncSequence.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/PublishedBinding.swift",
"Features/RelativeFilePath.swift"
],
"type" : "library"
},
{
"c99name" : "UIxTests",
"module_type" : "SwiftTarget",
"name" : "UIxTests",
"path" : "UI/UIx/Tests",
"sources" : [
"CocoaNavigationViewTests.swift",
"MinimumTouchTargetTests.swift",
"ModalPresentationStateMachineTests.swift",
"SerializedModalPresentationLifetimeTests.swift",
"UIKitHierarchyTests.swift"
],
"target_dependencies" : [
"UIx"
],
"type" : "test"
},
{
"c99name" : "UIx",
"module_type" : "SwiftTarget",
"name" : "UIx",
"path" : "UI/UIx/Sources",
"product_memberships" : [
"UIx",
"NoorUI",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"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+ModalPresentation.swift",
"SwiftUI/Miscellaneous/View+Placement.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/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/MinimumTouchTarget.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/ModalPresentationCoordinator.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" : [
"Crashing",
"ViewConstrainer",
"VLogging"
],
"type" : "library"
},
{
"c99name" : "TranslationsFeature",
"module_type" : "SwiftTarget",
"name" : "TranslationsFeature",
"path" : "Features/TranslationsFeature/Sources",
"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/Sources",
"product_memberships" : [
"TranslationVerseFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"TranslationVerseBuilder.swift",
"TranslationVerseView.swift",
"TranslationVerseViewController.swift",
"TranslationVerseViewModel.swift"
],
"target_dependencies" : [
"AppDependencies",
"NoorUI",
"ReadingService",
"MoreMenuFeature",
"TranslationsFeature",
"QuranTranslationFeature",
"QuranLocalization",
"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/Sources",
"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",
"FeaturesSupport",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"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/Sources",
"product_memberships" : [
"TranslationPersistence",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"ActiveTranslationsPersistence.swift",
"GRDBActiveTranslationsPersistence.swift"
],
"target_dependencies" : [
"SQLitePersistence",
"QuranText"
],
"type" : "library"
},
{
"c99name" : "Timing",
"module_type" : "SwiftTarget",
"name" : "Timing",
"path" : "Core/Timing/Sources",
"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/Sources",
"product_memberships" : [
"TestResources",
"ReciterServiceFake",
"TranslationServiceFake"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Domain/TestResources/Sources/test_data",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"TestResources.swift"
],
"type" : "library"
},
{
"c99name" : "SystemDependenciesFake",
"module_type" : "SwiftTarget",
"name" : "SystemDependenciesFake",
"path" : "Core/SystemDependenciesFake/Sources",
"product_memberships" : [
"SystemDependenciesFake",
"CoreDataPersistenceTestSupport",
"ReciterServiceFake",
"TranslationServiceFake"
],
"sources" : [
"AlternateIconAccessFake.swift",
"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/Sources",
"product_dependencies" : [
"Zip",
"AsyncAlgorithms"
],
"product_memberships" : [
"SystemDependencies",
"SystemDependenciesFake",
"AppMigrator",
"NoorUI",
"PageBookmarkPersistence",
"LastPagePersistence",
"LegacyDataPersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"BatchDownloader",
"BatchDownloaderFake",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"ImageService",
"ReadingService",
"AnnotationsService",
"LegacyDataMigration",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AlternateIconAccess.swift",
"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/Sources",
"product_memberships" : [
"SettingsService",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"ReviewPersistence.swift",
"ReviewService.swift"
],
"target_dependencies" : [
"Analytics",
"Preferences",
"Utilities"
],
"type" : "library"
},
{
"c99name" : "SettingsFeatureTests",
"module_type" : "SwiftTarget",
"name" : "SettingsFeatureTests",
"path" : "Features/SettingsFeature/Tests",
"sources" : [
"AppDependenciesStub.swift",
"AudioPlaybackViewModelTests.swift",
"SettingsRootViewModelAppearanceTests.swift",
"SettingsRootViewModelTests.swift"
],
"target_dependencies" : [
"SettingsFeature",
"Analytics",
"AppDependencies",
"AppIconFeature",
"AudioDownloadsFeature",
"AuthenticationClient",
"AuthenticationClientFake",
"MobileSyncTestSupport",
"BatchDownloader",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"LastPagePersistence",
"LegacyDataMigration",
"LegacyDataPersistence",
"NoorUI",
"NotePersistence",
"PageBookmarkPersistence",
"QueuePlayer",
"QuranAudio",
"QuranAudioKit",
"ReadingSelectorFeature",
"ReadingService",
"ReciterListFeature",
"ReciterService",
"ReciterServiceFake",
"SettingsService",
"SystemDependenciesFake",
"TranslationsFeature"
],
"type" : "test"
},
{
"c99name" : "SettingsFeature",
"module_type" : "SwiftTarget",
"name" : "SettingsFeature",
"path" : "Features/SettingsFeature/Sources",
"product_dependencies" : [
"Zip"
],
"product_memberships" : [
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AudioPlayback/AudioPlaybackBuilder.swift",
"AudioPlayback/AudioPlaybackView.swift",
"AudioPlayback/AudioPlaybackViewModel.swift",
"ContactUsService.swift",
"Diagnostics/DiagnosticsBuilder.swift",
"Diagnostics/DiagnosticsService.swift",
"Diagnostics/DiagnosticsView.swift",
"Diagnostics/DiagnosticsViewModel.swift",
"QuranComAccountCard.swift",
"SettingsBuilder.swift",
"SettingsRootView.swift",
"SettingsRootViewModel.swift",
"UIViewController+Share.swift"
],
"target_dependencies" : [
"AppDependencies",
"AppIconFeature",
"AuthenticationClient",
"FeaturesSupport",
"LegacyDataMigration",
"SettingsService",
"NoorUI",
"QueuePlayer",
"QuranAudio",
"QuranAudioKit",
"ReciterListFeature",
"ReciterService",
"VLogging",
"AudioDownloadsFeature",
"TranslationsFeature",
"ReadingSelectorFeature",
"Preferences"
],
"type" : "library"
},
{
"c99name" : "SearchFeatureTests",
"module_type" : "SwiftTarget",
"name" : "SearchFeatureTests",
"path" : "Features/SearchFeature/Tests",
"sources" : [
"SearchViewModelTests.swift"
],
"target_dependencies" : [
"SearchFeature",
"Analytics",
"QuranResources",
"QuranText"
],
"type" : "test"
},
{
"c99name" : "SearchFeature",
"module_type" : "SwiftTarget",
"name" : "SearchFeature",
"path" : "Features/SearchFeature/Sources",
"product_memberships" : [
"SearchFeature",
"AppStructureFeature"
],
"sources" : [
"SearchBuilder.swift",
"SearchTypes.swift",
"SearchView.swift",
"SearchViewController.swift",
"SearchViewModel.swift"
],
"target_dependencies" : [
"AppDependencies",
"QuranTextKit",
"QuranLocalization",
"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",
"LinePagePersistence",
"WordTextPersistence",
"VerseTextPersistence",
"TranslationPersistence",
"BatchDownloader",
"BatchDownloaderFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordFrameService",
"WordTextService",
"ImageService",
"ReadingService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"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/Sources",
"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/Sources",
"product_memberships" : [
"ReciterListFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"QuranViewFeature",
"SettingsFeature",
"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",
"ReadingResourcesRetentionTests.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",
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"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/Sources",
"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",
"ImageService",
"NoorUI"
],
"type" : "library"
},
{
"c99name" : "ReadingBookmarkMenuFeatureTests",
"module_type" : "SwiftTarget",
"name" : "ReadingBookmarkMenuFeatureTests",
"path" : "Features/ReadingBookmarkMenuFeature/Tests",
"sources" : [
"ReadingBookmarkMenuRowTests.swift",
"ReadingBookmarkMenuViewModelTests.swift"
],
"target_dependencies" : [
"ReadingBookmarkMenuFeature",
"MobileSyncTestSupport"
],
"type" : "test"
},
{
"c99name" : "ReadingBookmarkMenuFeature",
"module_type" : "SwiftTarget",
"name" : "ReadingBookmarkMenuFeature",
"path" : "Features/ReadingBookmarkMenuFeature/Sources",
"product_memberships" : [
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"ReadingBookmarkMenuBuilder.swift",
"ReadingBookmarkMenuRow.swift",
"ReadingBookmarkMenuView.swift",
"ReadingBookmarkMenuViewModel.swift",
"ReadingBookmarkUndoToast.swift"
],
"target_dependencies" : [
"AnnotationsService",
"AppDependencies",
"Crashing",
"Localization",
"NoorUI",
"QuranAnnotations",
"QuranKit",
"QuranLocalization",
"UIx"
],
"type" : "library"
},
{
"c99name" : "QuranViewFeatureTests",
"module_type" : "SwiftTarget",
"name" : "QuranViewFeatureTests",
"path" : "Features/QuranViewFeature/Tests",
"sources" : [
"QuranAnnotationsObserverTests.swift",
"QuranViewTests.swift",
"ReadingBookmarkSelectionTests.swift"
],
"target_dependencies" : [
"QuranViewFeature",
"MobileSyncTestSupport"
],
"type" : "test"
},
{
"c99name" : "QuranViewFeature",
"module_type" : "SwiftTarget",
"name" : "QuranViewFeature",
"path" : "Features/QuranViewFeature/Sources",
"product_memberships" : [
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"QuranAnnotationsObserver.swift",
"QuranBuilder.swift",
"QuranInteractor.swift",
"QuranView.swift",
"QuranViewController.swift"
],
"target_dependencies" : [
"Crashing",
"UIx",
"AudioBannerFeature",
"QuranContentFeature",
"AyahMenuFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"NotesFeature",
"WordPointerFeature",
"WordTextService",
"TranslationsFeature",
"TranslationVerseFeature",
"FeaturesSupport",
"BookmarksFeature",
"NoorUI",
"ReadingService",
"QuranLocalization",
"ReadingBookmarkMenuFeature"
],
"type" : "library"
},
{
"c99name" : "QuranTranslationFeatureTests",
"module_type" : "SwiftTarget",
"name" : "QuranTranslationFeatureTests",
"path" : "Features/QuranTranslationFeature/Tests",
"sources" : [
"ContentTranslationViewModelTests.swift"
],
"target_dependencies" : [
"QuranTranslationFeature",
"QuranKit",
"QuranText"
],
"type" : "test"
},
{
"c99name" : "QuranTranslationFeature",
"module_type" : "SwiftTarget",
"name" : "QuranTranslationFeature",
"path" : "Features/QuranTranslationFeature/Sources",
"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",
"QuranAnnotations",
"ReadingService",
"QuranPagesFeature",
"QuranLocalization",
"QuranTextKit"
],
"type" : "library"
},
{
"c99name" : "QuranTextKitTests",
"module_type" : "SwiftTarget",
"name" : "QuranTextKitTests",
"path" : "Domain/QuranTextKit/Tests",
"product_dependencies" : [
"SnapshotTesting"
],
"sources" : [
"CompositeSearcherTests.swift",
"Encoding.swift",
"QuranTextDataServiceTests.swift",
"SearchRecentsServiceTests.swift",
"SearchTermTests.swift",
"ShareableVerseTextRetrieverTests.swift",
"TestData.swift",
"TwoPagesUtilsTests.swift"
],
"target_dependencies" : [
"QuranTextKit",
"ReadingService",
"QuranLocalization",
"TranslationServiceFake",
"SystemDependenciesFake",
"TestResources",
"QuranResources"
],
"type" : "test"
},
{
"c99name" : "QuranTextKit",
"module_type" : "SwiftTarget",
"name" : "QuranTextKit",
"path" : "Domain/QuranTextKit/Sources",
"product_memberships" : [
"QuranAudioKit",
"QuranTextKit",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"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",
"QuranLocalization",
"QuranText",
"VerseTextPersistence"
],
"type" : "library"
},
{
"c99name" : "QuranText",
"module_type" : "SwiftTarget",
"name" : "QuranText",
"path" : "Model/QuranText/Sources",
"product_memberships" : [
"QuranText",
"QuranAnnotations",
"NoorUI",
"LegacyDataPersistence",
"VerseTextPersistence",
"TranslationPersistence",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordTextService",
"AnnotationsService",
"LegacyDataMigration",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"FontSize.swift",
"QuranMode.swift",
"QuranText.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/Sources",
"product_memberships" : [
"QuranResources",
"AppDependencies",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Domain/QuranResources/Sources/Databases",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"QuranResources.swift"
],
"type" : "library"
},
{
"c99name" : "QuranPagesFeature",
"module_type" : "SwiftTarget",
"name" : "QuranPagesFeature",
"path" : "Features/QuranPagesFeature/Sources",
"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" : "QuranLocalizationTests",
"module_type" : "SwiftTarget",
"name" : "QuranLocalizationTests",
"path" : "Model/QuranLocalization/Tests",
"sources" : [
"QuranKitLocalizationTests.swift"
],
"target_dependencies" : [
"QuranLocalization",
"QuranKit"
],
"type" : "test"
},
{
"c99name" : "QuranLocalization",
"module_type" : "SwiftTarget",
"name" : "QuranLocalization",
"path" : "Model/QuranLocalization/Sources",
"product_memberships" : [
"QuranLocalization",
"NoorUI",
"QuranAudioKit",
"QuranTextKit",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"QuranKit+Localization.swift"
],
"target_dependencies" : [
"Localization",
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "QuranKitTests",
"module_type" : "SwiftTarget",
"name" : "QuranKitTests",
"path" : "Model/QuranKit/Tests",
"sources" : [
"AyahNumberTests.swift",
"HizbBasedLastAyahFinderTests.swift",
"HizbTests.swift",
"JuzTests.swift",
"PageTests.swift",
"QuarterBasedLastAyahFinderTests.swift",
"QuarterTests.swift",
"QuranPageMetadataTests.swift",
"SuraTests.swift"
],
"target_dependencies" : [
"QuranKit"
],
"type" : "test"
},
{
"c99name" : "QuranKit",
"module_type" : "SwiftTarget",
"name" : "QuranKit",
"path" : "Model/QuranKit/Sources",
"product_memberships" : [
"QuranKit",
"QuranLocalization",
"QuranGeometry",
"QuranAudio",
"QuranText",
"QuranAnnotations",
"NoorUI",
"PageBookmarkPersistence",
"LastPagePersistence",
"LegacyDataPersistence",
"AudioTimingPersistence",
"WordFramePersistence",
"LinePagePersistence",
"WordTextPersistence",
"VerseTextPersistence",
"TranslationPersistence",
"QueuePlayer",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordFrameService",
"WordTextService",
"ImageService",
"ReadingService",
"AnnotationsService",
"LegacyDataMigration",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AyahNumber.swift",
"Hizb.swift",
"Juz.swift",
"LastAyahFinder/HizbBasedLastAyahFinder.swift",
"LastAyahFinder/JuzBasedLastAyahFinder.swift",
"LastAyahFinder/LastAyahFinder.swift",
"LastAyahFinder/PageBasedLastAyahFinder.swift",
"LastAyahFinder/QuarterBasedLastAyahFinder.swift",
"LastAyahFinder/QuranBasedLastAyahFinder.swift",
"LastAyahFinder/SuraBasedLastAyahFinder.swift",
"LazyAtomic.swift",
"LinePageMetrics.swift",
"Navigatable.swift",
"Page.swift",
"Quarter.swift",
"Quran.swift",
"QuranGroup.swift",
"QuranPageMapper.swift",
"QuranPageMushaf.swift",
"QuranValueStorage.swift",
"Reading.swift",
"ReadingInfo/IndoPakQuranReadingInfoRawData.swift",
"ReadingInfo/Madani1405QuranReadingInfoRawData.swift",
"ReadingInfo/Madani1440QuranReadingInfoRawData.swift",
"ReadingInfo/QuranReadingInfoRawData.swift",
"Sura.swift",
"Util.swift",
"Word.swift"
],
"type" : "library"
},
{
"c99name" : "QuranImageFeatureTests",
"module_type" : "SwiftTarget",
"name" : "QuranImageFeatureTests",
"path" : "Features/QuranImageFeature/Tests",
"sources" : [
"ContentOverlayTests.swift",
"ContentScrollingTests.swift"
],
"target_dependencies" : [
"QuranImageFeature",
"TestResources"
],
"type" : "test"
},
{
"c99name" : "QuranImageFeature",
"module_type" : "SwiftTarget",
"name" : "QuranImageFeature",
"path" : "Features/QuranImageFeature/Sources",
"product_memberships" : [
"QuranImageFeature",
"QuranContentFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"ContentImageBuilder.swift",
"ContentImageView.swift",
"ContentImageViewModel.swift",
"ContentLineLayoutBuilder.swift",
"ContentLineView.swift",
"ContentLineViewModel.swift",
"LinePageChromeStyle.swift"
],
"target_dependencies" : [
"AppDependencies",
"QuranGeometry",
"NoorUI",
"ImageService",
"LinePagePersistence",
"ReadingService",
"QuranPagesFeature",
"QuranLocalization",
"QuranTextKit",
"Caching"
],
"type" : "library"
},
{
"c99name" : "QuranGeometryTests",
"module_type" : "SwiftTarget",
"name" : "QuranGeometryTests",
"path" : "Model/QuranGeometry/Tests",
"sources" : [
"IndoPakLinePageGeometryTests.swift",
"LinePageGeometryTests.swift",
"LinePageSidelineGeometryTests.swift",
"WordFrameCollectionTests.swift"
],
"target_dependencies" : [
"QuranGeometry"
],
"type" : "test"
},
{
"c99name" : "QuranGeometry",
"module_type" : "SwiftTarget",
"name" : "QuranGeometry",
"path" : "Model/QuranGeometry/Sources",
"product_memberships" : [
"QuranGeometry",
"NoorUI",
"WordFramePersistence",
"LinePagePersistence",
"QuranAudioKit",
"QuranTextKit",
"WordFrameService",
"ImageService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AyahNumberLocation.swift",
"ImagePage.swift",
"LinePageGeometryEngine+Sidelines.swift",
"LinePageGeometryEngine.swift",
"LinePageGeometryInput.swift",
"LinePageLayout.swift",
"LinePageModels.swift",
"SuraHeaderLocation.swift",
"WordFrame.swift",
"WordFrameCollection.swift",
"WordFrameScale.swift"
],
"target_dependencies" : [
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "QuranContentFeature",
"module_type" : "SwiftTarget",
"name" : "QuranContentFeature",
"path" : "Features/QuranContentFeature/Sources",
"product_memberships" : [
"QuranContentFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"ContentBuilder.swift",
"ContentViewController.swift",
"ContentViewModel.swift",
"PagesView.swift",
"QuranInput.swift"
],
"target_dependencies" : [
"QuranImageFeature",
"QuranTranslationFeature",
"Utilities"
],
"type" : "library"
},
{
"c99name" : "QuranAudioKitTests",
"module_type" : "SwiftTarget",
"name" : "QuranAudioKitTests",
"path" : "Domain/QuranAudioKit/Tests",
"product_dependencies" : [
"SnapshotTesting"
],
"sources" : [
"AudioEndLastAyahFinderTests.swift",
"AudioEndPreferenceTests.swift",
"AudioOptionsLocalizationTests.swift",
"AudioRequest+Extension.swift",
"GaplessAudioRequestBuilderTests.swift",
"GappedAudioRequestBuilderTests.swift",
"QueuePlayerFake.swift",
"QuranAudioDownloaderTests.swift",
"QuranAudioPlayerDelegateClosures.swift",
"QuranAudioPlayerTests.swift",
"RunsPreferenceTests.swift",
"VerseDelayTests.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/AudioEndLastAyahFinder.swift",
"Preferences/AudioPreferences.swift",
"Preferences/PreferencesLastAyahFinder.swift",
"Preferences/RepetitionDelay+Localization.swift",
"Preferences/VerseDelay+Localization.swift"
],
"target_dependencies" : [
"QuranAudio",
"BatchDownloader",
"AudioTimingService",
"ReciterService",
"QuranLocalization",
"QuranTextKit",
"QueuePlayer",
"SystemDependencies"
],
"type" : "library"
},
{
"c99name" : "QuranAudio",
"module_type" : "SwiftTarget",
"name" : "QuranAudio",
"path" : "Model/QuranAudio/Sources",
"product_memberships" : [
"QuranAudio",
"NoorUI",
"AudioTimingPersistence",
"QueuePlayer",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AudioDownloadedSize.swift",
"AudioEnd.swift",
"AyahTiming.swift",
"RangeTiming.swift",
"Reciter+URLs.swift",
"Reciter.swift",
"Runs.swift",
"SuraTiming.swift",
"Timing.swift"
],
"target_dependencies" : [
"Utilities",
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "QuranAnnotationsTests",
"module_type" : "SwiftTarget",
"name" : "QuranAnnotationsTests",
"path" : "Model/QuranAnnotations/Tests",
"sources" : [
"ReadingBookmarkOrderingTests.swift",
"VerseOverlaysAnnotationTests.swift",
"VerseOverlaysTests.swift"
],
"target_dependencies" : [
"QuranAnnotations"
],
"type" : "test"
},
{
"c99name" : "QuranAnnotations",
"module_type" : "SwiftTarget",
"name" : "QuranAnnotations",
"path" : "Model/QuranAnnotations/Sources",
"product_memberships" : [
"QuranAnnotations",
"NoorUI",
"LegacyDataPersistence",
"AnnotationsService",
"LegacyDataMigration",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AyahAnnotation.swift",
"AyahBookmarkCollection.swift",
"HighlightColor.swift",
"LastPage.swift",
"Note.swift",
"PageBookmark.swift",
"PlacedReadingBookmark.swift",
"ReadingBookmark.swift",
"VerseOverlays.swift"
],
"target_dependencies" : [
"QuranKit",
"QuranText"
],
"type" : "library"
},
{
"c99name" : "QueuePlayer",
"module_type" : "SwiftTarget",
"name" : "QueuePlayer",
"path" : "Domain/QueuePlayer/Sources",
"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",
"RepetitionDelay.swift",
"VerseDelay.swift"
],
"target_dependencies" : [
"QuranAudio",
"Timing"
],
"type" : "library"
},
{
"c99name" : "PreferencesTests",
"module_type" : "SwiftTarget",
"name" : "PreferencesTests",
"path" : "Core/Preferences/Tests",
"sources" : [
"PreferencesTests.swift"
],
"target_dependencies" : [
"Preferences"
],
"type" : "test"
},
{
"c99name" : "Preferences",
"module_type" : "SwiftTarget",
"name" : "Preferences",
"path" : "Core/Preferences/Sources",
"product_memberships" : [
"Preferences",
"AppMigrator",
"NoorUI",
"AuthenticationClient",
"AuthenticationClientFake",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordTextService",
"ReadingService",
"AnnotationsService",
"LegacyDataMigration",
"SettingsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"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",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"CoreDataPageBookmarkPersistence.swift",
"CoreDataPageBookmarkUniquifier.swift",
"PageBookmarkPersistence.swift",
"PageBookmarkPersistenceModel.swift"
],
"target_dependencies" : [
"CoreDataModel",
"CoreDataPersistence",
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "NotesFeatureTests",
"module_type" : "SwiftTarget",
"name" : "NotesFeatureTests",
"path" : "Features/NotesFeature/Tests",
"sources" : [
"AyahNotesViewModelTests.swift",
"NoteItemTests.swift",
"NotesViewModelTests.swift"
],
"target_dependencies" : [
"NotesFeature",
"AuthenticationClientFake",
"MobileSyncTestSupport",
"QuranResources"
],
"type" : "test"
},
{
"c99name" : "NotesFeature",
"module_type" : "SwiftTarget",
"name" : "NotesFeature",
"path" : "Features/NotesFeature/Sources",
"product_memberships" : [
"NotesFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"AyahNotesBuilder.swift",
"AyahNotesView.swift",
"AyahNotesViewController.swift",
"AyahNotesViewModel.swift",
"NoteCard.swift",
"NoteItem.swift",
"NotesBuilder.swift",
"NotesView.swift",
"NotesViewController.swift",
"NotesViewModel.swift"
],
"target_dependencies" : [
"Analytics",
"AnnotationsService",
"AuthenticationClient",
"QuranTextKit",
"AppDependencies",
"FeaturesSupport",
"ReadingService",
"NoorUI",
"QuranLocalization",
"NoteEditorFeature"
],
"type" : "library"
},
{
"c99name" : "NotePersistenceTests",
"module_type" : "SwiftTarget",
"name" : "NotePersistenceTests",
"path" : "Data/NotePersistence/Tests",
"sources" : [
"CoreDataNotePersistenceTests.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",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"CoreDataNotePersistence.swift",
"NotePersistence.swift",
"NotePersistenceModel.swift"
],
"target_dependencies" : [
"CoreDataModel",
"CoreDataPersistence",
"SystemDependencies"
],
"type" : "library"
},
{
"c99name" : "NoteEditorFeatureTests",
"module_type" : "SwiftTarget",
"name" : "NoteEditorFeatureTests",
"path" : "Features/NoteEditorFeature/Tests",
"sources" : [
"NoteEditorViewModelTests.swift"
],
"target_dependencies" : [
"NoteEditorFeature",
"Analytics",
"AnnotationsService",
"MobileSyncTestSupport",
"NoorUI",
"QuranAnnotations",
"QuranKit",
"QuranResources"
],
"type" : "test"
},
{
"c99name" : "NoteEditorFeature",
"module_type" : "SwiftTarget",
"name" : "NoteEditorFeature",
"path" : "Features/NoteEditorFeature/Sources",
"product_memberships" : [
"NoteEditorFeature",
"NotesFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"NoteEditorBuilder.swift",
"NoteEditorMode.swift",
"NoteEditorViewController.swift",
"NoteEditorViewModel.swift"
],
"target_dependencies" : [
"Analytics",
"AppDependencies",
"AnnotationsService",
"NoorUI",
"QuranTextKit"
],
"type" : "library"
},
{
"c99name" : "NoorUITests",
"module_type" : "SwiftTarget",
"name" : "NoorUITests",
"path" : "UI/NoorUI/Tests",
"sources" : [
"AppIconAccentTests.swift",
"AppIconCatalogTests.swift",
"AppIconServiceTests.swift",
"AudioBannerLayoutTests.swift",
"AudioOptionsSummaryTests.swift",
"AyahAnnotationsButtonTests.swift",
"EditableNoteTests.swift",
"ImageDecorationsLayoutTests.swift",
"MultipartTextLayoutTests.swift",
"MultipartTextLocalizationTests.swift",
"MultipartTextQuranTests.swift",
"NavigationActionsTests.swift",
"NoorListIconTintTests.swift",
"NoorListItemLayoutTests.swift",
"PageViewControllerTests.swift",
"PlaybackSpeedTests.swift",
"QuranHighlightShapeTests.swift",
"QuranScrollSchedulerTests.swift",
"QuranTextViewTests.swift",
"ReadingBookmarkDisplayNameTests.swift",
"ReadingBookmarkPinTests.swift",
"RunsLocalizationTests.swift",
"TestResourcePathTests.swift"
],
"target_dependencies" : [
"NoorUI",
"Localization",
"QuranAudio",
"QuranKit",
"QuranLocalization",
"SystemDependenciesFake",
"UIx"
],
"type" : "test"
},
{
"c99name" : "NoorUI",
"module_type" : "SwiftTarget",
"name" : "NoorUI",
"path" : "UI/NoorUI/Sources",
"product_dependencies" : [
"GenericDataSources"
],
"product_memberships" : [
"NoorUI",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/UI/NoorUI/Sources/Colors/Colors.xcassets",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/UI/NoorUI/Sources/Images/Images.xcassets",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"AppIcon/AppIconAccent.swift",
"AppIcon/AppIconCatalog.swift",
"AppIcon/AppIconOption.swift",
"AppIcon/AppIconPreview.swift",
"AppIcon/AppIconService.swift",
"BaseControllers/BaseNavigationController.swift",
"BaseControllers/BaseViewController.swift",
"BaseControllers/UIViewController+Error.swift",
"Colors/Color+extension.swift",
"Components/ActiveRoundedButton.swift",
"Components/AppStoreDownloadButton.swift",
"Components/AppearanceMenu.swift",
"Components/ColoredBookmarksView.swift",
"Components/ContinueReadingBookmarkRow.swift",
"Components/ContinueReadingSection.swift",
"Components/DataUnavailableView.swift",
"Components/DisclosureIndicator.swift",
"Components/DropdownButton.swift",
"Components/ErrorAlertModifier.swift",
"Components/HighlightColorPicker.swift",
"Components/HighlightPaletteIcon.swift",
"Components/List/NoorEditableCollapsibleSection.swift",
"Components/List/NoorExpandableRowHeader.swift",
"Components/List/NoorList.swift",
"Components/List/NoorListEmptyState.swift",
"Components/List/NoorListIcon.swift",
"Components/List/NoorListItem.swift",
"Components/List/NoorMenuRow.swift",
"Components/List/NoorSection.swift",
"Components/List/NoorToggleRow.swift",
"Components/List/NoorValueRowLabel.swift",
"Components/List/NoorWheelPickerRow.swift",
"Components/LoadingView.swift",
"Components/MultipartText+Localization.swift",
"Components/MultipartText+UIKit.swift",
"Components/MultipartText.swift",
"Components/NavigationActions.swift",
"Components/NoorTag.swift",
"Components/ProminentRoundedButton.swift",
"Components/QuranHighlightShape.swift",
"Components/QuranReference.swift",
"Components/QuranText+AyahMarkers.swift",
"Components/QuranTextView.swift",
"Components/ReadingBookmarkDisplayable.swift",
"Components/ReadingBookmarkPin.swift",
"Components/ReadingBookmarkSlot+UI.swift",
"Components/RecentPageCapsule.swift",
"Components/SegmentedChoicesPicker.swift",
"Components/SuraNameStyle.swift",
"Components/SyncSignInCard.swift",
"Components/ThemeStyleSelector.swift",
"Components/Toast.swift",
"Components/ToastEnvironmentKey.swift",
"Features/AudioBanner/AudioBannerViewUI.swift",
"Features/AudioBanner/AudioControlButton.swift",
"Features/AudioBanner/AudioOptionsButton.swift",
"Features/AudioBanner/AudioOptionsSummary.swift",
"Features/AudioOptions/AudioRepeatSection.swift",
"Features/AudioOptions/RepeatCountRow.swift",
"Features/AudioOptions/Runs+Localization.swift",
"Features/AyahMenu/AyahMenuUI.swift",
"Features/AyahMenu/AyahMenuView.swift",
"Features/Content/ContentStatusView.swift",
"Features/Note/EditableNote.swift",
"Features/Note/NoteCircle.swift",
"Features/Note/NoteEditorView.swift",
"Features/Note/UIViewController+Note.swift",
"Features/Quran/AdaptiveImageScrollView.swift",
"Features/Quran/AdaptiveQuranScrollView.swift",
"Features/Quran/AyahAnnotation+UI.swift",
"Features/Quran/AyahAnnotationIcon.swift",
"Features/Quran/AyahAnnotationsButton.swift",
"Features/Quran/AyahAnnotationsView.swift",
"Features/Quran/AyahMarkerPlacement.swift",
"Features/Quran/AyahNumberLocation+Layout.swift",
"Features/Quran/AyahNumberView.swift",
"Features/Quran/AyahScrollAnchorsView.swift",
"Features/Quran/ImageDecorations.swift",
"Features/Quran/ImageDecorationsLayout.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/QuranVerseNumber.swift",
"Features/Quran/QuranVerseSeparator.swift",
"Features/Quran/SuraHeaderView.swift",
"Font/FontName++.swift",
"Font/FontSize++.swift",
"Font/QuranFont.swift",
"Formatters/PlaybackSpeed.swift",
"Formatters/TimeAgo.swift",
"Images/NoorImage.swift",
"Images/NoorSystemImage.swift",
"Miscellaneous/ContentDimension.swift",
"Miscellaneous/Dimensions.swift",
"Miscellaneous/NoorAnimation.swift",
"Miscellaneous/ReadableInsetsViewModifier.swift",
"Miscellaneous/TestResource+Path.swift",
"Miscellaneous/ThemedColorInvert.swift",
"Pager/PageViewController.swift",
"Shapes/Arc.swift",
"Theme/AppearanceModeViews.swift",
"Theme/HighlightColor+Theme.swift",
"Theme/ThemeColors.swift",
"Theme/ThemeService.swift",
"Theme/ThemeStyleViews.swift",
"Theme/VerseOverlays+Theme.swift"
],
"target_dependencies" : [
"QuranAudio",
"UIx",
"Crashing",
"Localization",
"Preferences",
"QuranKit",
"QuranLocalization",
"QuranText",
"QuranAnnotations",
"QuranGeometry",
"NoorFont",
"SystemDependencies",
"Utilities",
"VLogging"
],
"type" : "library"
},
{
"c99name" : "NoorFont",
"module_type" : "SwiftTarget",
"name" : "NoorFont",
"path" : "UI/NoorFont/Sources",
"product_memberships" : [
"NoorFont",
"NoorUI",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/UI/NoorFont/Sources/Resources/Kitab-Regular.ttf",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/UI/NoorFont/Sources/Resources/UthmanicHafs1B Ver13.ttf",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/UI/NoorFont/Sources/Resources/noorehira.ttf",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/UI/NoorFont/Sources/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/Sources",
"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",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"NetworkError.swift",
"NetworkManager.swift",
"NetworkSession.swift"
],
"target_dependencies" : [
"Crashing",
"Localization"
],
"type" : "library"
},
{
"c99name" : "MoreMenuFeatureTests",
"module_type" : "SwiftTarget",
"name" : "MoreMenuFeatureTests",
"path" : "Features/MoreMenuFeature/Tests",
"sources" : [
"ThemeSettingsControllerTests.swift"
],
"target_dependencies" : [
"MoreMenuFeature"
],
"type" : "test"
},
{
"c99name" : "MoreMenuFeature",
"module_type" : "SwiftTarget",
"name" : "MoreMenuFeature",
"path" : "Features/MoreMenuFeature/Sources",
"product_memberships" : [
"MoreMenuFeature",
"TranslationVerseFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"MoreMenuBuilder.swift",
"MoreMenuController.swift",
"MoreMenuModel.swift",
"MoreMenuViewModel.swift",
"views/FontSizeStepper.swift",
"views/MoreMenuArabicText.swift",
"views/MoreMenuDeviceRotation.swift",
"views/MoreMenuEmpty.swift",
"views/MoreMenuFontSize.swift",
"views/MoreMenuLinePageDisplay.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" : "MobileSyncTestSupport",
"module_type" : "SwiftTarget",
"name" : "MobileSyncTestSupport",
"path" : "Data/MobileSyncTestSupport/Sources",
"product_memberships" : [
"MobileSyncTestSupport"
],
"sources" : [
"MobileSyncTestSupport.swift"
],
"type" : "library"
},
{
"c99name" : "Locking",
"module_type" : "SwiftTarget",
"name" : "Locking",
"path" : "Core/Locking/Sources",
"product_memberships" : [
"Locking",
"Caching",
"Timing",
"WeakSet",
"Crashing",
"UIx",
"NoorUI",
"PageBookmarkPersistence",
"LastPagePersistence",
"LegacyDataPersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"VerseTextPersistence",
"NetworkSupport",
"NetworkSupportFake",
"BatchDownloader",
"BatchDownloaderFake",
"QueuePlayer",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordTextService",
"ReadingService",
"AnnotationsService",
"LegacyDataMigration",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"NSLocking+Extension.swift",
"Protected.swift"
],
"type" : "library"
},
{
"c99name" : "LocalizationTests",
"module_type" : "SwiftTarget",
"name" : "LocalizationTests",
"path" : "Core/Localization/Tests",
"sources" : [
"LocalizationCatalogTests.swift",
"ReadingSectionLocalizationTests.swift"
],
"target_dependencies" : [
"Localization"
],
"type" : "test"
},
{
"c99name" : "Localization",
"module_type" : "SwiftTarget",
"name" : "Localization",
"path" : "Core/Localization/Sources",
"product_memberships" : [
"Localization",
"QuranLocalization",
"NoorUI",
"SyncedPageBookmarkPersistence",
"SQLitePersistence",
"AudioTimingPersistence",
"WordFramePersistence",
"LinePagePersistence",
"WordTextPersistence",
"VerseTextPersistence",
"TranslationPersistence",
"NetworkSupport",
"NetworkSupportFake",
"BatchDownloader",
"BatchDownloaderFake",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordFrameService",
"WordTextService",
"ImageService",
"ReadingService",
"AnnotationsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ar.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "ar"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ar.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "ar"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ar.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "ar"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ar.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "ar"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ar.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "ar"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ar.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "ar"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/de.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "de"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/de.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "de"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/de.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "de"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/de.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "de"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/de.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "de"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/de.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "de"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/en.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "en"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/en.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "en"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/en.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "en"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/en.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "en"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/en.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "en"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/en.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "en"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/es.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "es"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/es.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "es"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/es.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "es"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/es.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "es"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/es.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "es"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/es.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "es"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/fa.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "fa"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/fa.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "fa"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/fa.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "fa"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/fa.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "fa"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/fa.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "fa"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/fa.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "fa"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/fr.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "fr"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/fr.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "fr"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/fr.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "fr"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/fr.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "fr"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/fr.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "fr"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/fr.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "fr"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/kk.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "kk"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/kk.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "kk"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/kk.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "kk"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/kk.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "kk"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/kk.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "kk"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/kk.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "kk"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ms.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "ms"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ms.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "ms"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ms.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "ms"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ms.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "ms"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ms.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "ms"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/nl.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "nl"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/nl.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "nl"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/nl.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "nl"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/nl.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "nl"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/nl.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "nl"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/nl.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "nl"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/pt.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "pt"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/pt.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "pt"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/pt.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "pt"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/pt.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "pt"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/pt.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "pt"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ru.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "ru"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ru.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "ru"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ru.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "ru"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ru.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "ru"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ru.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "ru"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ru.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "ru"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/tr.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "tr"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/tr.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "tr"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/tr.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "tr"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/tr.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "tr"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/tr.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "tr"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ug.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "ug"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ug.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "ug"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ug.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "ug"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ug.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "ug"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ug.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "ug"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/ug.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "ug"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/uz.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "uz"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/uz.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "uz"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/uz.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "uz"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/uz.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "uz"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/uz.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "uz"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/uz.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "uz"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/vi.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "vi"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/vi.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "vi"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/vi.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "vi"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/vi.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "vi"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/vi.lproj/Readers.strings",
"rule" : {
"process" : {
"localization" : "vi"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/vi.lproj/Suras.strings",
"rule" : {
"process" : {
"localization" : "vi"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/zh.lproj/Android.strings",
"rule" : {
"process" : {
"localization" : "zh"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/zh.lproj/Android.stringsdict",
"rule" : {
"process" : {
"localization" : "zh"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/zh.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "zh"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Core/Localization/Sources/Resources/zh.lproj/Localizable.stringsdict",
"rule" : {
"process" : {
"localization" : "zh"
}
}
}
],
"sources" : [
"Locale+Language.swift",
"Localizations.swift",
"NumberFormatter+Extension.swift",
"resource_bundle.swift"
],
"type" : "library"
},
{
"c99name" : "LinePagePersistenceTests",
"module_type" : "SwiftTarget",
"name" : "LinePagePersistenceTests",
"path" : "Data/LinePagePersistence/Tests",
"sources" : [
"LinePagePersistenceTests.swift"
],
"target_dependencies" : [
"LinePagePersistence",
"TestResources"
],
"type" : "test"
},
{
"c99name" : "LinePagePersistence",
"module_type" : "SwiftTarget",
"name" : "LinePagePersistence",
"path" : "Data/LinePagePersistence/Sources",
"product_memberships" : [
"LinePagePersistence",
"QuranImageFeature",
"QuranContentFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"GRDBLinePagePersistence.swift",
"LinePagePersistence.swift"
],
"target_dependencies" : [
"SQLitePersistence",
"QuranGeometry",
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "LegacyDataPersistenceTests",
"module_type" : "SwiftTarget",
"name" : "LegacyDataPersistenceTests",
"path" : "Data/LegacyDataPersistence/Tests",
"sources" : [
"CoreDataLegacyDataReaderTests.swift"
],
"target_dependencies" : [
"LegacyDataPersistence",
"CoreDataModel",
"CoreDataPersistenceTestSupport",
"QuranAnnotations"
],
"type" : "test"
},
{
"c99name" : "LegacyDataPersistence",
"module_type" : "SwiftTarget",
"name" : "LegacyDataPersistence",
"path" : "Data/LegacyDataPersistence/Sources",
"product_memberships" : [
"LegacyDataPersistence",
"LegacyDataMigration",
"AppDependencies",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"CoreDataLegacyDataReader.swift"
],
"target_dependencies" : [
"CoreDataModel",
"CoreDataPersistence",
"QuranAnnotations",
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "LegacyDataMigrationTests",
"module_type" : "SwiftTarget",
"name" : "LegacyDataMigrationTests",
"path" : "Domain/LegacyDataMigration/Tests",
"product_dependencies" : [
"AsyncAlgorithms"
],
"sources" : [
"LegacyDataImportCoordinatorTests.swift",
"LegacyImportScanRunnerTests.swift"
],
"target_dependencies" : [
"LegacyDataMigration",
"AsyncUtilitiesForTesting",
"CoreDataModel",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"LegacyDataPersistence",
"MobileSyncTestSupport"
],
"type" : "test"
},
{
"c99name" : "LegacyDataMigration",
"module_type" : "SwiftTarget",
"name" : "LegacyDataMigration",
"path" : "Domain/LegacyDataMigration/Sources",
"product_memberships" : [
"LegacyDataMigration",
"AppDependencies",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"LegacyDataImportCoordinator.swift",
"LegacyImportScanRunner.swift"
],
"target_dependencies" : [
"LegacyDataPersistence",
"Preferences",
"VLogging"
],
"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",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"CoreDataLastPageOverflowHandler.swift",
"CoreDataLastPagePersistence.swift",
"CoreDataLastPageUniquifier.swift",
"LastPagePersistence.swift",
"LastPagePersistenceModel.swift"
],
"target_dependencies" : [
"CoreDataModel",
"CoreDataPersistence",
"QuranKit"
],
"type" : "library"
},
{
"c99name" : "ImageServiceTests",
"module_type" : "SwiftTarget",
"name" : "ImageServiceTests",
"path" : "Domain/ImageService/Tests",
"product_dependencies" : [
"SnapshotTesting"
],
"sources" : [
"ImageDataServiceTests.swift",
"LinePageAssetServiceTests.swift",
"LinePageWordFrameAdapterTests.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",
"ReadingSelectorFeature",
"QuranContentFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"ImageDataService.swift",
"LinePageAssetService.swift",
"LinePageWordFrameAdapter.swift"
],
"target_dependencies" : [
"QuranGeometry",
"WordFrameService",
"SystemDependencies"
],
"type" : "library"
},
{
"c99name" : "HomeFeature",
"module_type" : "SwiftTarget",
"name" : "HomeFeature",
"path" : "Features/HomeFeature/Sources",
"product_memberships" : [
"HomeFeature",
"AppStructureFeature"
],
"sources" : [
"HomeBuilder.swift",
"HomePreferences.swift",
"HomeView.swift",
"HomeViewController.swift",
"HomeViewModel.swift",
"QuarterItem.swift"
],
"target_dependencies" : [
"AppDependencies",
"ReadingSelectorFeature",
"ReadingService",
"AnnotationsService",
"FeaturesSupport",
"NoorUI",
"Preferences",
"QuranLocalization"
],
"type" : "library"
},
{
"c99name" : "FeaturesSupport",
"module_type" : "SwiftTarget",
"name" : "FeaturesSupport",
"path" : "Features/FeaturesSupport/Sources",
"product_memberships" : [
"FeaturesSupport",
"BookmarksFeature",
"NotesFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"Analytics.Screen.swift",
"CommonAnalytics.swift",
"QuranNavigator.swift",
"QuranSyncAnalytics.swift",
"ReadingBookmarkListItem.swift"
],
"target_dependencies" : [
"BatchDownloader",
"Localization",
"Analytics",
"QuranAnnotations",
"QuranTextKit",
"NoorUI",
"UIx"
],
"type" : "library"
},
{
"c99name" : "CrashingTests",
"module_type" : "SwiftTarget",
"name" : "CrashingTests",
"path" : "Core/Crashing/Tests",
"sources" : [
"CrashContextTests.swift"
],
"target_dependencies" : [
"Crashing"
],
"type" : "test"
},
{
"c99name" : "Crashing",
"module_type" : "SwiftTarget",
"name" : "Crashing",
"path" : "Core/Crashing/Sources",
"product_memberships" : [
"Crashing",
"UIx",
"NoorUI",
"PageBookmarkPersistence",
"LastPagePersistence",
"LegacyDataPersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"VerseTextPersistence",
"NetworkSupport",
"NetworkSupportFake",
"BatchDownloader",
"BatchDownloaderFake",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordTextService",
"ReadingService",
"AnnotationsService",
"LegacyDataMigration",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"CrashContext.swift",
"Crasher.swift",
"Global.swift"
],
"target_dependencies" : [
"Locking"
],
"type" : "library"
},
{
"c99name" : "CoreDataPersistenceTests",
"module_type" : "SwiftTarget",
"name" : "CoreDataPersistenceTests",
"path" : "Data/CoreDataPersistence/Tests",
"sources" : [
"CoreDataInsertedEntitiesRetrieverTests.swift",
"CoreDataPersistentHistoryTokenStoreTests.swift",
"CoreDataPublisherTests.swift",
"CoreDataStackMigrationTests.swift",
"CoreDataStackTests.swift",
"PersistentStoreFailureTests.swift",
"SimpleCoreDataEntityUniquifierTests.swift"
],
"target_dependencies" : [
"CoreDataPersistence",
"AsyncUtilitiesForTesting",
"CoreDataModel",
"CoreDataPersistenceTestSupport"
],
"type" : "test"
},
{
"c99name" : "CoreDataPersistenceTestSupport",
"module_type" : "SwiftTarget",
"name" : "CoreDataPersistenceTestSupport",
"path" : "Data/CoreDataPersistenceTestSupport/Sources",
"product_memberships" : [
"CoreDataPersistenceTestSupport"
],
"sources" : [
"CoreDataStack+Extensions.swift",
"LastPage+++.swift",
"Note+++.swift",
"PageBookmark+++.swift",
"TemporaryCoreDataStore.swift"
],
"target_dependencies" : [
"CoreDataPersistence",
"CoreDataModel",
"SystemDependenciesFake"
],
"type" : "library"
},
{
"c99name" : "CoreDataPersistence",
"module_type" : "SwiftTarget",
"name" : "CoreDataPersistence",
"path" : "Data/CoreDataPersistence/Sources",
"product_memberships" : [
"PageBookmarkPersistence",
"LastPagePersistence",
"LegacyDataPersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"AnnotationsService",
"LegacyDataMigration",
"AppDependencies",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"CoreDataPersistentHistoryProcessor.swift",
"CoreDataPersistentHistoryTokenStore.swift",
"CoreDataPublisher.swift",
"CoreDataStack.swift",
"CoreDataTypes.swift",
"NSManagedObjectContext+Extensions.swift",
"PersistentStoreFailure.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/Sources",
"product_memberships" : [
"PageBookmarkPersistence",
"LastPagePersistence",
"LegacyDataPersistence",
"NotePersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"AnnotationsService",
"LegacyDataMigration",
"AppDependencies",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"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" : "BookmarksFeatureTests",
"module_type" : "SwiftTarget",
"name" : "BookmarksFeatureTests",
"path" : "Features/BookmarksFeature/Tests",
"sources" : [
"AyahSetViewModelTests.swift",
"BookmarkAyahsViewModelTests.swift",
"BookmarkCollectionsViewModelTests.swift",
"BookmarksViewControllerTests.swift",
"BookmarksViewModelTests.swift",
"HighlightSyncTests.swift"
],
"target_dependencies" : [
"BookmarksFeature",
"Analytics",
"AnnotationsService",
"AuthenticationClient",
"AuthenticationClientFake",
"MobileSyncTestSupport",
"PageBookmarkPersistence",
"QuranResources"
],
"type" : "test"
},
{
"c99name" : "BookmarksFeature",
"module_type" : "SwiftTarget",
"name" : "BookmarksFeature",
"path" : "Features/BookmarksFeature/Sources",
"product_memberships" : [
"BookmarksFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"AyahBookmarkCollection+Presentation.swift",
"AyahSetBuilder.swift",
"AyahSetDataSource.swift",
"AyahSetView.swift",
"AyahSetViewController.swift",
"AyahSetViewModel.swift",
"BookmarkAyahsBuilder.swift",
"BookmarkAyahsView.swift",
"BookmarkAyahsViewController.swift",
"BookmarkAyahsViewModel.swift",
"BookmarkCollectionsBuilder.swift",
"BookmarkCollectionsView.swift",
"BookmarkCollectionsViewController.swift",
"BookmarkCollectionsViewModel.swift",
"BookmarksBuilder.swift",
"BookmarksView.swift",
"BookmarksViewController.swift",
"BookmarksViewModel.swift",
"CollectionDeleteConfirmation.swift"
],
"target_dependencies" : [
"Analytics",
"AppDependencies",
"AuthenticationClient",
"FeaturesSupport",
"AnnotationsService",
"NoorUI",
"QuranTextKit",
"QuranLocalization",
"ReadingService",
"Utilities"
],
"type" : "library"
},
{
"c99name" : "BatchDownloaderTests",
"module_type" : "SwiftTarget",
"name" : "BatchDownloaderTests",
"path" : "Data/BatchDownloader/Tests",
"product_dependencies" : [
"AsyncAlgorithms"
],
"sources" : [
"DownloadBackupTests.swift",
"DownloadBatchResponseTests.swift",
"DownloadManagerCancellationTests.swift",
"DownloadManagerTests.swift",
"HistoryProgressListener.swift"
],
"target_dependencies" : [
"BatchDownloader",
"BatchDownloaderFake"
],
"type" : "test"
},
{
"c99name" : "BatchDownloaderFake",
"module_type" : "SwiftTarget",
"name" : "BatchDownloaderFake",
"path" : "Data/BatchDownloaderFake/Sources",
"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",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"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" : "AyahMenuFeatureTests",
"module_type" : "SwiftTarget",
"name" : "AyahMenuFeatureTests",
"path" : "Features/AyahMenuFeature/Tests",
"sources" : [
"AyahMenuLegacyViewModelTests.swift",
"AyahMenuViewModelTests.swift"
],
"target_dependencies" : [
"AyahMenuFeature",
"Analytics",
"NotePersistence"
],
"type" : "test"
},
{
"c99name" : "AyahMenuFeature",
"module_type" : "SwiftTarget",
"name" : "AyahMenuFeature",
"path" : "Features/AyahMenuFeature/Sources",
"product_memberships" : [
"AyahMenuFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"AyahMenuBuilder.swift",
"AyahMenuViewController.swift",
"AyahMenuViewModel.swift"
],
"target_dependencies" : [
"AppDependencies",
"QuranAudioKit",
"AnnotationsService",
"NoorUI",
"QuranLocalization",
"ReadingBookmarkMenuFeature"
],
"type" : "library"
},
{
"c99name" : "AuthenticationClientTests",
"module_type" : "SwiftTarget",
"name" : "AuthenticationClientTests",
"path" : "Data/AuthenticationClient/Tests",
"sources" : [
"AuthenticationClientMobileSyncTests.swift",
"AuthenticationClientTests.swift"
],
"target_dependencies" : [
"AuthenticationClient",
"AuthenticationClientFake",
"MobileSyncTestSupport"
],
"type" : "test"
},
{
"c99name" : "AuthenticationClientFake",
"module_type" : "SwiftTarget",
"name" : "AuthenticationClientFake",
"path" : "Data/AuthenticationClientFake/Sources",
"product_memberships" : [
"AuthenticationClientFake"
],
"sources" : [
"AuthenticationClientFake.swift"
],
"target_dependencies" : [
"AuthenticationClient"
],
"type" : "library"
},
{
"c99name" : "AuthenticationClient",
"module_type" : "SwiftTarget",
"name" : "AuthenticationClient",
"path" : "Data/AuthenticationClient/Sources",
"product_memberships" : [
"AuthenticationClient",
"AuthenticationClientFake",
"AppDependencies",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AuthenticationClient.swift",
"AuthenticationClientMobileSyncImpl.swift",
"AuthenticationPreferences.swift"
],
"target_dependencies" : [
"Preferences",
"VLogging"
],
"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/Sources",
"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/Sources",
"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/Sources",
"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/Sources",
"product_memberships" : [
"AudioBannerFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"AudioBannerBuilder.swift",
"AudioBannerView.swift",
"AudioBannerViewModel.swift",
"RemoteCommandsHandler.swift"
],
"target_dependencies" : [
"QuranAudio",
"Caching",
"AppDependencies",
"NoorUI",
"UIx",
"ReciterListFeature",
"AdvancedAudioOptionsFeature"
],
"type" : "library"
},
{
"c99name" : "AsyncUtilitiesForTesting",
"module_type" : "SwiftTarget",
"name" : "AsyncUtilitiesForTesting",
"path" : "Core/AsyncUtilitiesForTesting/Sources",
"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" : "AppStructureFeatureTests",
"module_type" : "SwiftTarget",
"name" : "AppStructureFeatureTests",
"path" : "Features/AppStructureFeature/Tests",
"sources" : [
"LaunchStoresTests.swift",
"ProtectedDataStartupStateTests.swift",
"QuranDeepLinkTests.swift",
"StoreOpenStartupStateTests.swift"
],
"target_dependencies" : [
"AppStructureFeature",
"CoreDataModel"
],
"type" : "test"
},
{
"c99name" : "AppStructureFeature",
"module_type" : "SwiftTarget",
"name" : "AppStructureFeature",
"path" : "Features/AppStructureFeature/Sources",
"product_memberships" : [
"AppStructureFeature"
],
"sources" : [
"App/AppBuilder.swift",
"App/AppInteractor.swift",
"App/AppViewController.swift",
"Common/TabBuilder.swift",
"Common/TabInteractor.swift",
"Common/TabViewController.swift",
"Launch/CrashApplicationObserver.swift",
"Launch/LaunchBuilder.swift",
"Launch/LaunchStartup.swift",
"Launch/LaunchStores.swift",
"Launch/QuranDeepLink.swift",
"Launch/StorageFullView.swift",
"Launch/StoreOpenStartupState.swift",
"Tabs/BookmarksTab.swift",
"Tabs/HomeTab.swift",
"Tabs/NotesTab.swift",
"Tabs/SearchTab.swift",
"Tabs/SettingsTab.swift"
],
"target_dependencies" : [
"AppIconFeature",
"AppMigrator",
"CoreDataPersistence",
"Crashing",
"FeaturesSupport",
"NoorUI",
"QuranKit",
"ReadingService",
"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",
"WhatsNewFeature",
"AppMigrationFeature",
"AppStructureFeature"
],
"sources" : [
"AppMigrator.swift",
"AppVersionUpdater.swift"
],
"target_dependencies" : [
"Preferences",
"VLogging",
"SystemDependencies"
],
"type" : "library"
},
{
"c99name" : "AppMigrationFeatureTests",
"module_type" : "SwiftTarget",
"name" : "AppMigrationFeatureTests",
"path" : "Features/AppMigrationFeature/Tests",
"sources" : [
"DownloadBackupMigratorTests.swift",
"LegacyDataMigratorTests.swift"
],
"target_dependencies" : [
"AppMigrationFeature",
"AppMigrator",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"LegacyDataMigration",
"LegacyDataPersistence",
"MobileSyncTestSupport"
],
"type" : "test"
},
{
"c99name" : "AppMigrationFeature",
"module_type" : "SwiftTarget",
"name" : "AppMigrationFeature",
"path" : "Features/AppMigrationFeature/Sources",
"product_memberships" : [
"AppMigrationFeature",
"AppStructureFeature"
],
"sources" : [
"DownloadBackupMigrator.swift",
"FileSystemMigrator.swift",
"LegacyDataMigrator.swift",
"MigrationView.swift",
"MigrationViewController.swift",
"RecitersPathMigrator.swift"
],
"target_dependencies" : [
"LegacyDataMigration",
"SystemDependencies",
"VLogging",
"AppMigrator",
"ReciterService",
"Utilities",
"NoorUI"
],
"type" : "library"
},
{
"c99name" : "AppIconFeatureTests",
"module_type" : "SwiftTarget",
"name" : "AppIconFeatureTests",
"path" : "Features/AppIconFeature/Tests",
"sources" : [
"AppIconListViewModelTests.swift"
],
"target_dependencies" : [
"AppIconFeature",
"Analytics",
"NoorUI",
"SystemDependenciesFake"
],
"type" : "test"
},
{
"c99name" : "AppIconFeature",
"module_type" : "SwiftTarget",
"name" : "AppIconFeature",
"path" : "Features/AppIconFeature/Sources",
"product_memberships" : [
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AnalyticsLibrary+AppIcon.swift",
"AppIconBuilder.swift",
"AppIconListView.swift",
"AppIconListViewModel.swift"
],
"target_dependencies" : [
"Analytics",
"AppDependencies",
"Localization",
"NoorUI",
"UIx",
"VLogging"
],
"type" : "library"
},
{
"c99name" : "AppDependencies",
"module_type" : "SwiftTarget",
"name" : "AppDependencies",
"path" : "Features/AppDependencies/Sources",
"product_memberships" : [
"AppDependencies",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AppDependencies.swift"
],
"target_dependencies" : [
"CoreDataPersistence",
"NotePersistence",
"QuranTextKit",
"Analytics",
"AnnotationsService",
"BatchDownloader",
"LastPagePersistence",
"NoorUI",
"ReadingService",
"QuranResources",
"AuthenticationClient",
"LegacyDataMigration",
"SystemDependencies"
],
"type" : "library"
},
{
"c99name" : "AnnotationsServiceTests",
"module_type" : "SwiftTarget",
"name" : "AnnotationsServiceTests",
"path" : "Domain/AnnotationsService/Tests",
"sources" : [
"AllReadingsLastPageTests.swift",
"AllReadingsPageBookmarkTests.swift",
"AyahBookmarkCollectionServiceTests.swift",
"EmptyTests.swift",
"LastPageUpdaterTests.swift",
"MobileSyncAyahHighlightServiceTests.swift",
"MobileSyncLastPageServiceTests.swift",
"MobileSyncNoteServiceTests.swift",
"MobileSyncReadingBookmarkServiceTests.swift",
"NoteServiceTests.swift",
"PageMappingServiceTests.swift",
"VerseOverlayServiceTests.swift"
],
"target_dependencies" : [
"AnnotationsService",
"LastPagePersistence",
"MobileSyncTestSupport",
"PageBookmarkPersistence",
"QuranKit"
],
"type" : "test"
},
{
"c99name" : "AnnotationsService",
"module_type" : "SwiftTarget",
"name" : "AnnotationsService",
"path" : "Domain/AnnotationsService/Sources",
"product_memberships" : [
"AnnotationsService",
"AppDependencies",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"sources" : [
"AnalyticsLibrary+Events.swift",
"AyahBookmarkCollectionService.swift",
"HighlightPreferences.swift",
"LastPageService.swift",
"LastPageUpdater.swift",
"MobileSyncAyahHighlightService.swift",
"MobileSyncLastPageService.swift",
"MobileSyncNoteService.swift",
"MobileSyncReadingBookmarkService.swift",
"NoteService.swift",
"PageBookmarkService.swift",
"PageMappingError.swift",
"PersistenceLastPageService.swift",
"VerseOverlayService.swift"
],
"target_dependencies" : [
"QuranAnnotations",
"QuranKit",
"LastPagePersistence",
"NotePersistence",
"PageBookmarkPersistence",
"Preferences",
"QuranTextKit",
"ReadingService",
"Localization",
"Analytics",
"Utilities"
],
"type" : "library"
},
{
"c99name" : "Analytics",
"module_type" : "SwiftTarget",
"name" : "Analytics",
"path" : "Core/Analytics/Sources",
"product_memberships" : [
"Analytics",
"AnnotationsService",
"SettingsService",
"AppDependencies",
"FeaturesSupport",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"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",
"AsyncUtilitiesForTesting",
"QuranKit",
"QuranLocalization",
"QuranGeometry",
"QuranAudio",
"QuranText",
"QuranAnnotations",
"ViewConstrainer",
"UIx",
"NoorFont",
"NoorUI",
"MobileSyncTestSupport",
"PageBookmarkPersistence",
"SyncedPageBookmarkPersistence",
"LastPagePersistence",
"LegacyDataPersistence",
"NotePersistence",
"CoreDataPersistence",
"CoreDataPersistenceTestSupport",
"CoreDataModel",
"SQLitePersistence",
"AudioTimingPersistence",
"WordFramePersistence",
"LinePagePersistence",
"WordTextPersistence",
"VerseTextPersistence",
"TranslationPersistence",
"NetworkSupport",
"NetworkSupportFake",
"BatchDownloader",
"BatchDownloaderFake",
"AuthenticationClient",
"AuthenticationClientFake",
"QueuePlayer",
"QuranResources",
"TestResources",
"ReciterService",
"ReciterServiceFake",
"AudioUpdater",
"AudioTimingService",
"QuranAudioKit",
"QuranTextKit",
"TranslationService",
"TranslationServiceFake",
"WordFrameService",
"WordTextService",
"ImageService",
"ReadingService",
"AnnotationsService",
"LegacyDataMigration",
"SettingsService",
"AppDependencies",
"FeaturesSupport",
"ReciterListFeature",
"AyahMenuFeature",
"ReadingBookmarkMenuFeature",
"WhatsNewFeature",
"WordPointerFeature",
"AppMigrationFeature",
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"AudioDownloadsFeature",
"MoreMenuFeature",
"NoteEditorFeature",
"BookmarksFeature",
"QuranPagesFeature",
"QuranImageFeature",
"ReadingSelectorFeature",
"QuranTranslationFeature",
"QuranContentFeature",
"TranslationsFeature",
"NotesFeature",
"TranslationVerseFeature",
"SearchFeature",
"HomeFeature",
"QuranViewFeature",
"AppIconFeature",
"SettingsFeature",
"AppStructureFeature"
],
"type" : "test"
},
{
"c99name" : "AdvancedAudioOptionsFeatureTests",
"module_type" : "SwiftTarget",
"name" : "AdvancedAudioOptionsFeatureTests",
"path" : "Features/AdvancedAudioOptionsFeature/Tests",
"sources" : [
"AdvancedAudioOptionsViewModelTests.swift",
"AyahWheelPickerModelTests.swift"
],
"target_dependencies" : [
"AdvancedAudioOptionsFeature"
],
"type" : "test"
},
{
"c99name" : "AdvancedAudioOptionsFeature",
"module_type" : "SwiftTarget",
"name" : "AdvancedAudioOptionsFeature",
"path" : "Features/AdvancedAudioOptionsFeature/Sources",
"product_memberships" : [
"AdvancedAudioOptionsFeature",
"AudioBannerFeature",
"QuranViewFeature",
"AppStructureFeature"
],
"sources" : [
"AdvancedAudioOptions.swift",
"AdvancedAudioOptionsBuilder.swift",
"AdvancedAudioOptionsView.swift",
"AdvancedAudioOptionsViewModel.swift",
"AyahRangePicker.swift",
"EndAtChoice.swift"
],
"target_dependencies" : [
"QuranAudio",
"NoorUI",
"ReciterListFeature",
"QuranAudioKit",
"QuranLocalization"
],
"type" : "library"
}
],
"tools_version" : "5.8"
}
Done.