Build Information
Successful build of URLImage, reference 3.1.1 (4042f9
), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 02:49:36 UTC.
Swift 6 data race errors: 9
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dmytro-anokhin/url-image.git
Reference: 3.1.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/dmytro-anokhin/url-image
* tag 3.1.1 -> FETCH_HEAD
HEAD is now at 4042f95 Use v12 platform to workaround 74120874
Cloned https://github.com/dmytro-anokhin/url-image.git
Revision (git rev-parse @):
4042f955f1fdff00ced85545e1eecdbf969b5cd0
SUCCESS checkout https://github.com/dmytro-anokhin/url-image.git at 3.1.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "url-image",
"name": "URLImage",
"url": "https://github.com/dmytro-anokhin/url-image.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/url-image",
"dependencies": [
]
}
]
}
Fetching https://github.com/dmytro-anokhin/url-image.git
[1/4353] Fetching url-image
Fetched https://github.com/dmytro-anokhin/url-image.git from cache (1.14s)
Creating working copy for https://github.com/dmytro-anokhin/url-image.git
Working copy of https://github.com/dmytro-anokhin/url-image.git resolved at 3.1.1 (4042f95)
warning: '.resolve-product-dependencies': dependency 'url-image' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/dmytro-anokhin/url-image.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/9] Write sources
[8/9] Write swift-version--7754E27361AE5C74.txt
[10/21] Emitting module PlainDatabase
[11/21] Emitting module Log
[12/21] Compiling Log Log.swift
[13/31] Compiling DownloadManager DownloadTypes.swift
[14/31] Compiling DownloadManager URLSessionDelegate.swift
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/DownloadManager/URLSession/URLSessionDelegate.swift:19:17: warning: stored property 'taskDidCompleteWithError' of 'Sendable'-conforming class 'URLSessionDelegate' is mutable; this is an error in the Swift 6 language mode
17 | typealias TaskDidCompleteWithError = (_ task: URLSessionTask, _ error: Error?) -> Void
18 |
19 | private var taskDidCompleteWithError: TaskDidCompleteWithError?
| `- warning: stored property 'taskDidCompleteWithError' of 'Sendable'-conforming class 'URLSessionDelegate' is mutable; this is an error in the Swift 6 language mode
20 |
21 | @discardableResult
[15/31] Compiling DownloadManager DownloadManager.swift
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/DownloadManager/DownloadManager.swift:47:36: warning: passing non-sendable parameter 'closure' to function expecting a @Sendable closure
44 | private let serialQueue = DispatchQueue(label: "DownloadManager.serialQueue")
45 |
46 | private func async(_ closure: @escaping () -> Void) {
| `- note: parameter 'closure' is implicitly non-sendable
47 | serialQueue.async(execute: closure)
| `- warning: passing non-sendable parameter 'closure' to function expecting a @Sendable closure
48 | }
49 |
[16/31] Compiling DownloadManager URLSessionCoordinator.swift
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/DownloadManager/URLSession/URLSessionCoordinator.swift:188:36: warning: passing non-sendable parameter 'closure' to function expecting a @Sendable closure
185 | private let serialQueue = DispatchQueue(label: "URLSessionCoordinator.serialQueue")
186 |
187 | private func async(_ closure: @escaping () -> Void) {
| `- note: parameter 'closure' is implicitly non-sendable
188 | serialQueue.async(execute: closure)
| `- warning: passing non-sendable parameter 'closure' to function expecting a @Sendable closure
189 | }
190 |
[17/31] Compiling DownloadManager DownloadTask.swift
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/DownloadManager/Download/DownloadTask.swift:67:17: warning: capture of 'self' with non-sendable type 'DownloadTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 |
11 | /// `DownloadTask` is a wrapper around `URLSessionTask` that accumulates received data in a memory buffer.
12 | final class DownloadTask {
| `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
13 |
14 | final class Observer {
:
65 | serialQueue.async {
66 | if let error = error {
67 | self.observer.notifyCompletion(.failure(error))
| `- warning: capture of 'self' with non-sendable type 'DownloadTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
68 | return
69 | }
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/DownloadManager/Download/DownloadTask.swift:91:13: warning: capture of 'self' with non-sendable type 'DownloadTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 |
11 | /// `DownloadTask` is a wrapper around `URLSessionTask` that accumulates received data in a memory buffer.
12 | final class DownloadTask {
| `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
13 |
14 | final class Observer {
:
89 | func receive(response: URLResponse) {
90 | serialQueue.async {
91 | self.progress = DownloadProgress(response: response)
| `- warning: capture of 'self' with non-sendable type 'DownloadTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
92 | self.buffer = Data()
93 | self.observer.notifyReceiveResponse()
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/DownloadManager/Download/DownloadTask.swift:99:13: warning: capture of 'self' with non-sendable type 'DownloadTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 |
11 | /// `DownloadTask` is a wrapper around `URLSessionTask` that accumulates received data in a memory buffer.
12 | final class DownloadTask {
| `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
13 |
14 | final class Observer {
:
97 | func receive(data: Data) {
98 | serialQueue.async {
99 | self.buffer?.append(data)
| `- warning: capture of 'self' with non-sendable type 'DownloadTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 | self.observer.notifyReceiveData(data)
101 | self.observer.notifyReportProgress(self.progress?.percentage)
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/DownloadManager/Download/DownloadTask.swift:107:16: warning: capture of 'self' with non-sendable type 'DownloadTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
10 |
11 | /// `DownloadTask` is a wrapper around `URLSessionTask` that accumulates received data in a memory buffer.
12 | final class DownloadTask {
| `- note: class 'DownloadTask' does not conform to the 'Sendable' protocol
13 |
14 | final class Observer {
:
105 | func downloadProgress(received: Int64, expected: Int64) {
106 | serialQueue.async {
107 | if self.progress == nil {
| `- warning: capture of 'self' with non-sendable type 'DownloadTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 | self.progress = DownloadProgress()
109 | }
[18/31] Compiling DownloadManager Utils.swift
[19/31] Compiling DownloadManager DownloadProgress.swift
[20/31] Compiling DownloadManager DownloadPublisher.swift
[21/31] Compiling DownloadManager Download.swift
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/DownloadManager/Download/Download.swift:82:27: warning: static property 'keepAlive' is not concurrency-safe because non-'Sendable' type 'Download.DownloadPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
71 | public var destination: Destination
72 |
73 | public struct DownloadPolicy : OptionSet, Codable, Hashable {
| `- note: consider making struct 'DownloadPolicy' conform to the 'Sendable' protocol
74 |
75 | public let rawValue: Int
:
80 |
81 | /// Keep download alive even with no subscribers
82 | public static let keepAlive = DownloadPolicy(rawValue: 1 << 0)
| |- warning: static property 'keepAlive' is not concurrency-safe because non-'Sendable' type 'Download.DownloadPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'keepAlive' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
83 | }
84 |
[22/31] Emitting module DownloadManager
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/DownloadManager/Download/Download.swift:82:27: warning: static property 'keepAlive' is not concurrency-safe because non-'Sendable' type 'Download.DownloadPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
71 | public var destination: Destination
72 |
73 | public struct DownloadPolicy : OptionSet, Codable, Hashable {
| `- note: consider making struct 'DownloadPolicy' conform to the 'Sendable' protocol
74 |
75 | public let rawValue: Int
:
80 |
81 | /// Keep download alive even with no subscribers
82 | public static let keepAlive = DownloadPolicy(rawValue: 1 << 0)
| |- warning: static property 'keepAlive' is not concurrency-safe because non-'Sendable' type 'Download.DownloadPolicy' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'keepAlive' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
83 | }
84 |
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/DownloadManager/URLSession/URLSessionDelegate.swift:19:17: warning: stored property 'taskDidCompleteWithError' of 'Sendable'-conforming class 'URLSessionDelegate' is mutable; this is an error in the Swift 6 language mode
17 | typealias TaskDidCompleteWithError = (_ task: URLSessionTask, _ error: Error?) -> Void
18 |
19 | private var taskDidCompleteWithError: TaskDidCompleteWithError?
| `- warning: stored property 'taskDidCompleteWithError' of 'Sendable'-conforming class 'URLSessionDelegate' is mutable; this is an error in the Swift 6 language mode
20 |
21 | @discardableResult
[23/31] Compiling PlainDatabase CoreDataEntityDescription.swift
[24/31] Compiling PlainDatabase ManagedObjectCodable.swift
[25/31] Compiling PlainDatabase Database.swift
[26/31] Compiling PlainDatabase CoreDataAttributeDescription.swift
[27/31] Compiling PlainDatabase CoreDataModelDescription.swift
[28/31] Compiling PlainDatabase CoreDataFetchIndexDescription.swift
[29/31] Compiling PlainDatabase PlainDatabase.swift
[30/31] Compiling ImageDecoder ImageDecoder.swift
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/ImageDecoder/ImageDecoder.swift:276:24: warning: static property 'imageSourceOptions' is not concurrency-safe because non-'Sendable' type '[CFString : Any]' may have shared mutable state; this is an error in the Swift 6 language mode
274 | // MARK: - Private
275 |
276 | private static let imageSourceOptions: [CFString: Any] = [
| `- warning: static property 'imageSourceOptions' is not concurrency-safe because non-'Sendable' type '[CFString : Any]' may have shared mutable state; this is an error in the Swift 6 language mode
277 | kCGImageSourceShouldCache: true
278 | ]
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/ImageDecoder/ImageDecoder.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
7 | // ImageDecoder is based on ImageDecoderCG from WebCore https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp
8 |
9 | import ImageIO
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
10 | import Foundation
11 |
:
274 | // MARK: - Private
275 |
276 | private static let imageSourceOptions: [CFString: Any] = [
| |- note: annotate 'imageSourceOptions' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
277 | kCGImageSourceShouldCache: true
278 | ]
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/ImageDecoder/ImageDecoder.swift:280:24: warning: static property 'imageSourceAsyncOptions' is not concurrency-safe because non-'Sendable' type '[CFString : Any]' may have shared mutable state; this is an error in the Swift 6 language mode
278 | ]
279 |
280 | private static let imageSourceAsyncOptions: [CFString: Any] = [
| |- warning: static property 'imageSourceAsyncOptions' is not concurrency-safe because non-'Sendable' type '[CFString : Any]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'imageSourceAsyncOptions' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
281 | kCGImageSourceShouldCacheImmediately: true,
282 | kCGImageSourceCreateThumbnailFromImageAlways: true
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
[31/31] Emitting module ImageDecoder
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/ImageDecoder/ImageDecoder.swift:276:24: warning: static property 'imageSourceOptions' is not concurrency-safe because non-'Sendable' type '[CFString : Any]' may have shared mutable state; this is an error in the Swift 6 language mode
274 | // MARK: - Private
275 |
276 | private static let imageSourceOptions: [CFString: Any] = [
| `- warning: static property 'imageSourceOptions' is not concurrency-safe because non-'Sendable' type '[CFString : Any]' may have shared mutable state; this is an error in the Swift 6 language mode
277 | kCGImageSourceShouldCache: true
278 | ]
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/ImageDecoder/ImageDecoder.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
7 | // ImageDecoder is based on ImageDecoderCG from WebCore https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp
8 |
9 | import ImageIO
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreFoundation'
10 | import Foundation
11 |
:
274 | // MARK: - Private
275 |
276 | private static let imageSourceOptions: [CFString: Any] = [
| |- note: annotate 'imageSourceOptions' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
277 | kCGImageSourceShouldCache: true
278 | ]
/Users/admin/builder/spi-builder-workspace/Dependencies/Sources/ImageDecoder/ImageDecoder.swift:280:24: warning: static property 'imageSourceAsyncOptions' is not concurrency-safe because non-'Sendable' type '[CFString : Any]' may have shared mutable state; this is an error in the Swift 6 language mode
278 | ]
279 |
280 | private static let imageSourceAsyncOptions: [CFString: Any] = [
| |- warning: static property 'imageSourceAsyncOptions' is not concurrency-safe because non-'Sendable' type '[CFString : Any]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'imageSourceAsyncOptions' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
281 | kCGImageSourceShouldCacheImmediately: true,
282 | kCGImageSourceCreateThumbnailFromImageAlways: true
CoreFoundation.CFString:1:14: note: class 'CFString' does not conform to the 'Sendable' protocol
1 | public class CFString : _CFObject {
| `- note: class 'CFString' does not conform to the 'Sendable' protocol
2 | }
[32/37] Compiling Model TransientImage.swift
[33/37] Compiling Model URLImageError.swift
[34/37] Compiling Model FileManager+Extensions.swift
[35/37] Compiling Model ImageInfo.swift
[36/37] Emitting module Model
[37/37] Compiling Model TransientImage+ImageDecoder.swift
[38/41] Compiling FileIndex File.swift
[39/41] Compiling FileIndex FileIndex.swift
[40/41] Compiling FileIndex Bundle+Extensions.swift
[41/41] Emitting module FileIndex
[42/60] Compiling URLImage URLImageFileStoreType.swift
[43/60] Compiling URLImage URLImageInMemoryStoreType.swift
[44/60] Compiling URLImage URLImageStoreInfo.swift
[45/60] Compiling URLImage URLImageFileStoreType+Combine.swift
[46/61] Compiling URLImage URLImageService+RemoteImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:39:27: warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
37 |
38 | /// Start load when the image view is rendered
39 | public static let loadImmediately: LoadOptions = .init(rawValue: 1 << 0)
| |- warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'loadImmediately' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | /// Start load when the image view appears
[47/61] Compiling URLImage URLImageService.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:39:27: warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
37 |
38 | /// Start load when the image view is rendered
39 | public static let loadImmediately: LoadOptions = .init(rawValue: 1 << 0)
| |- warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'loadImmediately' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | /// Start load when the image view appears
[48/61] Compiling URLImage RemoteImageLoadingState.swift
[49/61] Compiling URLImage URLImageService+Decode.swift
[50/61] Compiling URLImage RemoteImageView.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:39:27: warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
37 |
38 | /// Start load when the image view is rendered
39 | public static let loadImmediately: LoadOptions = .init(rawValue: 1 << 0)
| |- warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'loadImmediately' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | /// Start load when the image view appears
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:42:27: warning: static property 'loadOnAppear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
40 |
41 | /// Start load when the image view appears
42 | public static let loadOnAppear: LoadOptions = .init(rawValue: 1 << 1)
| |- warning: static property 'loadOnAppear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'loadOnAppear' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 | /// Cancel load when the image view disappears
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:45:27: warning: static property 'cancelOnDisappear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
43 |
44 | /// Cancel load when the image view disappears
45 | public static let cancelOnDisappear: LoadOptions = .init(rawValue: 1 << 2)
| |- warning: static property 'cancelOnDisappear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'cancelOnDisappear' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | }
47 |
[51/61] Compiling URLImage TransientImage+SwiftUI.swift
[52/61] Compiling URLImage URLImageKey.swift
[53/61] Compiling URLImage Image_Orientation+CGImagePropertyOrientation.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/Common/Synchronized.swift:26:17: warning: capture of 'self' with non-sendable type 'Synchronized<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | /// `Synchronized` provides getter/setter synchronization, thread safety of the wrapped value is up to its implementation.
14 | @propertyWrapper
15 | public final class Synchronized<Value> {
| `- note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
16 |
17 | public var wrappedValue: Value {
:
24 | set {
25 | synchronizationQueue.async(flags: .barrier) {
26 | self.value = newValue
| `- warning: capture of 'self' with non-sendable type 'Synchronized<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | }
28 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/Common/Synchronized.swift:26:30: warning: capture of 'newValue' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | /// `Synchronized` provides getter/setter synchronization, thread safety of the wrapped value is up to its implementation.
14 | @propertyWrapper
15 | public final class Synchronized<Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
16 |
17 | public var wrappedValue: Value {
:
24 | set {
25 | synchronizationQueue.async(flags: .barrier) {
26 | self.value = newValue
| `- warning: capture of 'newValue' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | }
28 | }
[54/61] Compiling URLImage Synchronized.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/Common/Synchronized.swift:26:17: warning: capture of 'self' with non-sendable type 'Synchronized<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | /// `Synchronized` provides getter/setter synchronization, thread safety of the wrapped value is up to its implementation.
14 | @propertyWrapper
15 | public final class Synchronized<Value> {
| `- note: generic class 'Synchronized' does not conform to the 'Sendable' protocol
16 |
17 | public var wrappedValue: Value {
:
24 | set {
25 | synchronizationQueue.async(flags: .barrier) {
26 | self.value = newValue
| `- warning: capture of 'self' with non-sendable type 'Synchronized<Value>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | }
28 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/Common/Synchronized.swift:26:30: warning: capture of 'newValue' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | /// `Synchronized` provides getter/setter synchronization, thread safety of the wrapped value is up to its implementation.
14 | @propertyWrapper
15 | public final class Synchronized<Value> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
16 |
17 | public var wrappedValue: Value {
:
24 | set {
25 | synchronizationQueue.async(flags: .barrier) {
26 | self.value = newValue
| `- warning: capture of 'newValue' with non-sendable type 'Value' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | }
28 | }
[55/61] Compiling URLImage EnvironmentValues+URLImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/EnvironmentValues+URLImage.swift:14:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'URLImageService' may have shared mutable state; this is an error in the Swift 6 language mode
12 | private struct URLImageServiceEnvironmentKey: EnvironmentKey {
13 |
14 | static let defaultValue: URLImageService = URLImageService()
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'URLImageService' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | }
16 |
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/Service/URLImageService.swift:16:14: note: class 'URLImageService' does not conform to the 'Sendable' protocol
14 |
15 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
16 | public class URLImageService {
| `- note: class 'URLImageService' does not conform to the 'Sendable' protocol
17 |
18 | public init(fileStore: URLImageFileStoreType? = nil, inMemoryStore: URLImageInMemoryStoreType? = nil) {
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/EnvironmentValues+URLImage.swift:21:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'URLImageOptions' may have shared mutable state; this is an error in the Swift 6 language mode
19 | private struct URLImageOptionsEnvironmentKey: EnvironmentKey {
20 |
21 | static let defaultValue: URLImageOptions = URLImageOptions()
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'URLImageOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:15:15: note: consider making struct 'URLImageOptions' conform to the 'Sendable' protocol
13 | /// Options to control how the image is downloaded and stored
14 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
15 | public struct URLImageOptions {
| `- note: consider making struct 'URLImageOptions' conform to the 'Sendable' protocol
16 |
17 | /// The `FetchPolicy` allows to choose between returning stored image or downloading the remote one.
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:39:27: warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
37 |
38 | /// Start load when the image view is rendered
39 | public static let loadImmediately: LoadOptions = .init(rawValue: 1 << 0)
| |- warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'loadImmediately' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | /// Start load when the image view appears
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/RemoteImage/RemoteImage.swift:303:30: warning: capture of 'self' with non-sendable type 'RemoteImage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 |
16 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
17 | public final class RemoteImage : ObservableObject {
| `- note: class 'RemoteImage' does not conform to the 'Sendable' protocol
18 |
19 | /// Reference to URLImageService used to download and store the image.
:
301 | private func updateLoadingState(_ loadingState: LoadingState) {
302 | DispatchQueue.main.async { [weak self] in
303 | guard let self = self else {
| `- warning: capture of 'self' with non-sendable type 'RemoteImage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
304 | return
305 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/RemoteImage/RemoteImage.swift:307:33: warning: capture of 'loadingState' with non-sendable type 'RemoteImage.LoadingState' (aka 'RemoteImageLoadingState') in a `@Sendable` closure; this is an error in the Swift 6 language mode
305 | }
306 |
307 | self.loadingState = loadingState
| `- warning: capture of 'loadingState' with non-sendable type 'RemoteImage.LoadingState' (aka 'RemoteImageLoadingState') in a `@Sendable` closure; this is an error in the Swift 6 language mode
308 | }
309 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/RemoteImage/RemoteImageLoadingState.swift:20:13: note: consider making enum 'RemoteImageLoadingState' conform to the 'Sendable' protocol
18 | ///
19 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
20 | public enum RemoteImageLoadingState {
| `- note: consider making enum 'RemoteImageLoadingState' conform to the 'Sendable' protocol
21 |
22 | case initial
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/RemoteImage/RemoteImage.swift:303:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
301 | private func updateLoadingState(_ loadingState: LoadingState) {
302 | DispatchQueue.main.async { [weak self] in
303 | guard let self = self else {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
304 | return
305 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/RemoteImage/RemoteImage.swift:307:33: warning: sending 'loadingState' risks causing data races; this is an error in the Swift 6 language mode
305 | }
306 |
307 | self.loadingState = loadingState
| |- warning: sending 'loadingState' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'loadingState' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
308 | }
309 | }
[56/61] Compiling URLImage RemoteImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/EnvironmentValues+URLImage.swift:14:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'URLImageService' may have shared mutable state; this is an error in the Swift 6 language mode
12 | private struct URLImageServiceEnvironmentKey: EnvironmentKey {
13 |
14 | static let defaultValue: URLImageService = URLImageService()
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'URLImageService' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | }
16 |
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/Service/URLImageService.swift:16:14: note: class 'URLImageService' does not conform to the 'Sendable' protocol
14 |
15 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
16 | public class URLImageService {
| `- note: class 'URLImageService' does not conform to the 'Sendable' protocol
17 |
18 | public init(fileStore: URLImageFileStoreType? = nil, inMemoryStore: URLImageInMemoryStoreType? = nil) {
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/EnvironmentValues+URLImage.swift:21:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'URLImageOptions' may have shared mutable state; this is an error in the Swift 6 language mode
19 | private struct URLImageOptionsEnvironmentKey: EnvironmentKey {
20 |
21 | static let defaultValue: URLImageOptions = URLImageOptions()
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'URLImageOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:15:15: note: consider making struct 'URLImageOptions' conform to the 'Sendable' protocol
13 | /// Options to control how the image is downloaded and stored
14 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
15 | public struct URLImageOptions {
| `- note: consider making struct 'URLImageOptions' conform to the 'Sendable' protocol
16 |
17 | /// The `FetchPolicy` allows to choose between returning stored image or downloading the remote one.
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:39:27: warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
37 |
38 | /// Start load when the image view is rendered
39 | public static let loadImmediately: LoadOptions = .init(rawValue: 1 << 0)
| |- warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'loadImmediately' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | /// Start load when the image view appears
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/RemoteImage/RemoteImage.swift:303:30: warning: capture of 'self' with non-sendable type 'RemoteImage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 |
16 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
17 | public final class RemoteImage : ObservableObject {
| `- note: class 'RemoteImage' does not conform to the 'Sendable' protocol
18 |
19 | /// Reference to URLImageService used to download and store the image.
:
301 | private func updateLoadingState(_ loadingState: LoadingState) {
302 | DispatchQueue.main.async { [weak self] in
303 | guard let self = self else {
| `- warning: capture of 'self' with non-sendable type 'RemoteImage?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
304 | return
305 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/RemoteImage/RemoteImage.swift:307:33: warning: capture of 'loadingState' with non-sendable type 'RemoteImage.LoadingState' (aka 'RemoteImageLoadingState') in a `@Sendable` closure; this is an error in the Swift 6 language mode
305 | }
306 |
307 | self.loadingState = loadingState
| `- warning: capture of 'loadingState' with non-sendable type 'RemoteImage.LoadingState' (aka 'RemoteImageLoadingState') in a `@Sendable` closure; this is an error in the Swift 6 language mode
308 | }
309 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/RemoteImage/RemoteImageLoadingState.swift:20:13: note: consider making enum 'RemoteImageLoadingState' conform to the 'Sendable' protocol
18 | ///
19 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
20 | public enum RemoteImageLoadingState {
| `- note: consider making enum 'RemoteImageLoadingState' conform to the 'Sendable' protocol
21 |
22 | case initial
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/RemoteImage/RemoteImage.swift:303:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
301 | private func updateLoadingState(_ loadingState: LoadingState) {
302 | DispatchQueue.main.async { [weak self] in
303 | guard let self = self else {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
304 | return
305 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/RemoteImage/RemoteImage.swift:307:33: warning: sending 'loadingState' risks causing data races; this is an error in the Swift 6 language mode
305 | }
306 |
307 | self.loadingState = loadingState
| |- warning: sending 'loadingState' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'loadingState' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
308 | }
309 | }
[57/61] Emitting module URLImage
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/EnvironmentValues+URLImage.swift:14:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'URLImageService' may have shared mutable state; this is an error in the Swift 6 language mode
12 | private struct URLImageServiceEnvironmentKey: EnvironmentKey {
13 |
14 | static let defaultValue: URLImageService = URLImageService()
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'URLImageService' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | }
16 |
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/Service/URLImageService.swift:16:14: note: class 'URLImageService' does not conform to the 'Sendable' protocol
14 |
15 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
16 | public class URLImageService {
| `- note: class 'URLImageService' does not conform to the 'Sendable' protocol
17 |
18 | public init(fileStore: URLImageFileStoreType? = nil, inMemoryStore: URLImageInMemoryStoreType? = nil) {
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/EnvironmentValues+URLImage.swift:21:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'URLImageOptions' may have shared mutable state; this is an error in the Swift 6 language mode
19 | private struct URLImageOptionsEnvironmentKey: EnvironmentKey {
20 |
21 | static let defaultValue: URLImageOptions = URLImageOptions()
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'URLImageOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:15:15: note: consider making struct 'URLImageOptions' conform to the 'Sendable' protocol
13 | /// Options to control how the image is downloaded and stored
14 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
15 | public struct URLImageOptions {
| `- note: consider making struct 'URLImageOptions' conform to the 'Sendable' protocol
16 |
17 | /// The `FetchPolicy` allows to choose between returning stored image or downloading the remote one.
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:39:27: warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
37 |
38 | /// Start load when the image view is rendered
39 | public static let loadImmediately: LoadOptions = .init(rawValue: 1 << 0)
| |- warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'loadImmediately' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | /// Start load when the image view appears
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:42:27: warning: static property 'loadOnAppear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
40 |
41 | /// Start load when the image view appears
42 | public static let loadOnAppear: LoadOptions = .init(rawValue: 1 << 1)
| |- warning: static property 'loadOnAppear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'loadOnAppear' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 | /// Cancel load when the image view disappears
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:45:27: warning: static property 'cancelOnDisappear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
43 |
44 | /// Cancel load when the image view disappears
45 | public static let cancelOnDisappear: LoadOptions = .init(rawValue: 1 << 2)
| |- warning: static property 'cancelOnDisappear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'cancelOnDisappear' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | }
47 |
[58/61] Compiling URLImage URLImageOptions.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:39:27: warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
37 |
38 | /// Start load when the image view is rendered
39 | public static let loadImmediately: LoadOptions = .init(rawValue: 1 << 0)
| |- warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'loadImmediately' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | /// Start load when the image view appears
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:42:27: warning: static property 'loadOnAppear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
40 |
41 | /// Start load when the image view appears
42 | public static let loadOnAppear: LoadOptions = .init(rawValue: 1 << 1)
| |- warning: static property 'loadOnAppear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'loadOnAppear' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 | /// Cancel load when the image view disappears
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:45:27: warning: static property 'cancelOnDisappear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
43 |
44 | /// Cancel load when the image view disappears
45 | public static let cancelOnDisappear: LoadOptions = .init(rawValue: 1 << 2)
| |- warning: static property 'cancelOnDisappear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'cancelOnDisappear' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | }
47 |
[59/61] Compiling URLImage ActivityIndicator.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:39:27: warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
37 |
38 | /// Start load when the image view is rendered
39 | public static let loadImmediately: LoadOptions = .init(rawValue: 1 << 0)
| |- warning: static property 'loadImmediately' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'loadImmediately' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | /// Start load when the image view appears
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:42:27: warning: static property 'loadOnAppear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
40 |
41 | /// Start load when the image view appears
42 | public static let loadOnAppear: LoadOptions = .init(rawValue: 1 << 1)
| |- warning: static property 'loadOnAppear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'loadOnAppear' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 | /// Cancel load when the image view disappears
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/URLImageOptions.swift:45:27: warning: static property 'cancelOnDisappear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// Controls some aspects of download process
30 | public struct LoadOptions: OptionSet, Hashable {
| `- note: consider making struct 'LoadOptions' conform to the 'Sendable' protocol
31 |
32 | public let rawValue: Int
:
43 |
44 | /// Cancel load when the image view disappears
45 | public static let cancelOnDisappear: LoadOptions = .init(rawValue: 1 << 2)
| |- warning: static property 'cancelOnDisappear' is not concurrency-safe because non-'Sendable' type 'URLImageOptions.LoadOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'cancelOnDisappear' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 | }
47 |
[60/61] Compiling URLImage URLImageStoreType.swift
[61/61] Compiling URLImage URLImage.swift
[62/64] Compiling URLImageStore URLImageFileStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:65:30: warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 |
16 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
17 | public final class URLImageFileStore {
| `- note: class 'URLImageFileStore' does not conform to the 'Sendable' protocol
18 |
19 | let fileIndex: FileIndex
:
63 | func cleanup() {
64 | fileIndexQueue.async(flags: .barrier) { [weak self] in
65 | guard let self = self else {
| `- warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
66 | return
67 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:75:30: warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 |
16 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
17 | public final class URLImageFileStore {
| `- note: class 'URLImageFileStore' does not conform to the 'Sendable' protocol
18 |
19 | let fileIndex: FileIndex
:
73 | func deleteAll() {
74 | fileIndexQueue.async(flags: .barrier) { [weak self] in
75 | guard let self = self else {
| `- warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 | return
77 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:85:23: warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 |
16 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
17 | public final class URLImageFileStore {
| `- note: class 'URLImageFileStore' does not conform to the 'Sendable' protocol
18 |
19 | let fileIndex: FileIndex
:
83 | func delete(withIdentifier identifier: String?, orURL url: URL?) {
84 | fileIndexQueue.async(flags: .barrier) { [weak self] in
85 | log_debug(self, #function, {
| `- warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
86 | if let identifier = identifier {
87 | return "identifier = " + identifier
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:132:30: warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 |
16 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
17 | public final class URLImageFileStore {
| `- note: class 'URLImageFileStore' does not conform to the 'Sendable' protocol
18 |
19 | let fileIndex: FileIndex
:
130 |
131 | fileIndexQueue.async { [weak self] in
132 | guard let self = self else {
| `- warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 | return
134 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:138:24: warning: capture of 'keys' with non-sendable type '[URLImageKey]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
136 | var file: File?
137 |
138 | for key in keys {
| `- warning: capture of 'keys' with non-sendable type '[URLImageKey]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
139 | switch key {
140 | case .identifier(let identifier):
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/Common/URLImageKey.swift:12:13: note: enum 'URLImageKey' does not conform to the 'Sendable' protocol
10 |
11 | /// Various key types used to access images.
12 | public enum URLImageKey {
| `- note: enum 'URLImageKey' does not conform to the 'Sendable' protocol
13 |
14 | /// Unique identifier as a string
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:12:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'URLImage'
10 | import FileIndex
11 | import Log
12 | import URLImage
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'URLImage'
13 | import ImageDecoder
14 |
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:156:21: warning: capture of 'completion' with non-sendable type '(URL?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
154 |
155 | queue.async {
156 | completion(location)
| |- warning: capture of 'completion' with non-sendable type '(URL?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
157 | }
158 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:156:21: warning: capture of 'completion' with non-sendable type '(URL?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
154 |
155 | queue.async {
156 | completion(location)
| |- warning: capture of 'completion' with non-sendable type '(URL?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
157 | }
158 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:189:33: warning: capture of 'completion' with non-sendable type '(CGImage?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
187 | case .success(let image):
188 | queue.async {
189 | completion(image)
| |- warning: capture of 'completion' with non-sendable type '(CGImage?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
190 | }
191 |
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:194:33: warning: capture of 'completion' with non-sendable type '(CGImage?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
192 | case .failure:
193 | queue.async {
194 | completion(nil)
| |- warning: capture of 'completion' with non-sendable type '(CGImage?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
195 | }
196 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:207:30: warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 |
16 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
17 | public final class URLImageFileStore {
| `- note: class 'URLImageFileStore' does not conform to the 'Sendable' protocol
18 |
19 | let fileIndex: FileIndex
:
205 | public func removeAllImages() {
206 | fileIndexQueue.async(flags: .barrier) { [weak self] in
207 | guard let self = self else {
| `- warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
208 | return
209 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:217:30: warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 |
16 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
17 | public final class URLImageFileStore {
| `- note: class 'URLImageFileStore' does not conform to the 'Sendable' protocol
18 |
19 | let fileIndex: FileIndex
:
215 | public func removeImageWithURL(_ url: URL) {
216 | fileIndexQueue.async(flags: .barrier) { [weak self] in
217 | guard let self = self else {
| `- warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
218 | return
219 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:233:30: warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 |
16 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
17 | public final class URLImageFileStore {
| `- note: class 'URLImageFileStore' does not conform to the 'Sendable' protocol
18 |
19 | let fileIndex: FileIndex
:
231 | public func removeImageWithIdentifier(_ identifier: String) {
232 | fileIndexQueue.async(flags: .barrier) { [weak self] in
233 | guard let self = self else {
| `- warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
234 | return
235 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:273:30: warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 |
16 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
17 | public final class URLImageFileStore {
| `- note: class 'URLImageFileStore' does not conform to the 'Sendable' protocol
18 |
19 | let fileIndex: FileIndex
:
271 |
272 | fileIndexQueue.async { [weak self] in
273 | guard let self = self else {
| `- warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
274 | return
275 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:278:88: warning: capture of 'info' with non-sendable type 'URLImageStoreInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
276 |
277 | let fileName = UUID().uuidString
278 | let fileExtension = ImageDecoder.preferredFileExtension(forTypeIdentifier: info.uti)
| `- warning: capture of 'info' with non-sendable type 'URLImageStoreInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
279 |
280 | _ = try? self.fileIndex.write(data,
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/Store/Common/URLImageStoreInfo.swift:12:15: note: struct 'URLImageStoreInfo' does not conform to the 'Sendable' protocol
10 |
11 | /// Information that describes an image in a store
12 | public struct URLImageStoreInfo {
| `- note: struct 'URLImageStoreInfo' does not conform to the 'Sendable' protocol
13 |
14 | /// Original URL of the image
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:292:30: warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 |
16 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
17 | public final class URLImageFileStore {
| `- note: class 'URLImageFileStore' does not conform to the 'Sendable' protocol
18 |
19 | let fileIndex: FileIndex
:
290 |
291 | fileIndexQueue.async { [weak self] in
292 | guard let self = self else {
| `- warning: capture of 'self' with non-sendable type 'URLImageFileStore?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
293 | return
294 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLImageStore/URLImageFileStore.swift:302:88: warning: capture of 'info' with non-sendable type 'URLImageStoreInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
300 | fileExtension = location.pathExtension
301 | } else {
302 | fileExtension = ImageDecoder.preferredFileExtension(forTypeIdentifier: info.uti)
| `- warning: capture of 'info' with non-sendable type 'URLImageStoreInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
303 | }
304 |
/Users/admin/builder/spi-builder-workspace/Sources/URLImage/Store/Common/URLImageStoreInfo.swift:12:15: note: struct 'URLImageStoreInfo' does not conform to the 'Sendable' protocol
10 |
11 | /// Information that describes an image in a store
12 | public struct URLImageStoreInfo {
| `- note: struct 'URLImageStoreInfo' does not conform to the 'Sendable' protocol
13 |
14 | /// Original URL of the image
[63/64] Compiling URLImageStore URLImageInMemoryStore.swift
[64/64] Emitting module URLImageStore
Build complete! (22.08s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "URLImage",
"name" : "URLImage",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "12.0"
},
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "watchos",
"version" : "4.0"
}
],
"products" : [
{
"name" : "URLImage",
"targets" : [
"URLImage"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "URLImageStore",
"targets" : [
"URLImageStore"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "URLImageTests",
"module_type" : "SwiftTarget",
"name" : "URLImageTests",
"path" : "Tests/URLImageTests",
"sources" : [
"URLImageTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"URLImage"
],
"type" : "test"
},
{
"c99name" : "URLImageStore",
"module_type" : "SwiftTarget",
"name" : "URLImageStore",
"path" : "Sources/URLImageStore",
"product_memberships" : [
"URLImageStore"
],
"sources" : [
"URLImageFileStore.swift",
"URLImageInMemoryStore.swift"
],
"target_dependencies" : [
"URLImage",
"FileIndex",
"Log"
],
"type" : "library"
},
{
"c99name" : "URLImage",
"module_type" : "SwiftTarget",
"name" : "URLImage",
"path" : "Sources/URLImage",
"product_memberships" : [
"URLImage",
"URLImageStore"
],
"sources" : [
"Common/Image_Orientation+CGImagePropertyOrientation.swift",
"Common/Synchronized.swift",
"Common/TransientImage+SwiftUI.swift",
"Common/URLImageKey.swift",
"EnvironmentValues+URLImage.swift",
"RemoteImage/RemoteImage.swift",
"RemoteImage/RemoteImageLoadingState.swift",
"Service/URLImageService+Decode.swift",
"Service/URLImageService+RemoteImage.swift",
"Service/URLImageService.swift",
"Store/Common/URLImageStoreInfo.swift",
"Store/URLImageFileStoreType+Combine.swift",
"Store/URLImageFileStoreType.swift",
"Store/URLImageInMemoryStoreType.swift",
"Store/URLImageStoreType.swift",
"URLImage.swift",
"URLImageOptions.swift",
"Views/Auxiliary/ActivityIndicator.swift",
"Views/RemoteImageView.swift"
],
"target_dependencies" : [
"DownloadManager",
"ImageDecoder",
"FileIndex",
"Model",
"Log"
],
"type" : "library"
},
{
"c99name" : "PlainDatabaseTests",
"module_type" : "SwiftTarget",
"name" : "PlainDatabaseTests",
"path" : "Dependencies/Tests/PlainDatabaseTests",
"sources" : [
"PlainDatabaseTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"PlainDatabase"
],
"type" : "test"
},
{
"c99name" : "PlainDatabase",
"module_type" : "SwiftTarget",
"name" : "PlainDatabase",
"path" : "Dependencies/Sources/PlainDatabase",
"product_memberships" : [
"URLImage",
"URLImageStore"
],
"sources" : [
"CoreDataModel/CoreDataAttributeDescription.swift",
"CoreDataModel/CoreDataEntityDescription.swift",
"CoreDataModel/CoreDataFetchIndexDescription.swift",
"CoreDataModel/CoreDataModelDescription.swift",
"CoreDataModel/ManagedObjectCodable.swift",
"Database.swift",
"PlainDatabase.swift"
],
"type" : "library"
},
{
"c99name" : "Model",
"module_type" : "SwiftTarget",
"name" : "Model",
"path" : "Dependencies/Sources/Model",
"product_memberships" : [
"URLImage",
"URLImageStore"
],
"sources" : [
"FileManager+Extensions.swift",
"ImageInfo.swift",
"TransientImage+ImageDecoder.swift",
"TransientImage.swift",
"URLImageError.swift"
],
"target_dependencies" : [
"ImageDecoder"
],
"type" : "library"
},
{
"c99name" : "Log",
"module_type" : "SwiftTarget",
"name" : "Log",
"path" : "Dependencies/Sources/Log",
"product_memberships" : [
"URLImage",
"URLImageStore"
],
"sources" : [
"Log.swift"
],
"type" : "library"
},
{
"c99name" : "ImageDecoderTests",
"module_type" : "SwiftTarget",
"name" : "ImageDecoderTests",
"path" : "Dependencies/Tests/ImageDecoderTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Dependencies/Tests/ImageDecoderTests/Resources/TestImages.json",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Dependencies/Tests/ImageDecoderTests/Resources/gif-loop-count.gif",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Dependencies/Tests/ImageDecoderTests/Resources/lenna.jpg",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Dependencies/Tests/ImageDecoderTests/Resources/lenna.png",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Dependencies/Tests/ImageDecoderTests/Resources/quicksort.gif",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Dependencies/Tests/ImageDecoderTests/Resources/sea_animation.heics",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Dependencies/Tests/ImageDecoderTests/Resources/test.base64",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"ImageDecoderTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"ImageDecoder"
],
"type" : "test"
},
{
"c99name" : "ImageDecoder",
"module_type" : "SwiftTarget",
"name" : "ImageDecoder",
"path" : "Dependencies/Sources/ImageDecoder",
"product_memberships" : [
"URLImage",
"URLImageStore"
],
"sources" : [
"ImageDecoder.swift"
],
"type" : "library"
},
{
"c99name" : "FileIndexTests",
"module_type" : "SwiftTarget",
"name" : "FileIndexTests",
"path" : "Dependencies/Tests/FileIndexTests",
"sources" : [
"FileIndexTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"FileIndex"
],
"type" : "test"
},
{
"c99name" : "FileIndex",
"module_type" : "SwiftTarget",
"name" : "FileIndex",
"path" : "Dependencies/Sources/FileIndex",
"product_memberships" : [
"URLImage",
"URLImageStore"
],
"sources" : [
"Common/Bundle+Extensions.swift",
"File.swift",
"FileIndex.swift"
],
"target_dependencies" : [
"PlainDatabase",
"Log",
"Model"
],
"type" : "library"
},
{
"c99name" : "DownloadManager",
"module_type" : "SwiftTarget",
"name" : "DownloadManager",
"path" : "Dependencies/Sources/DownloadManager",
"product_memberships" : [
"URLImage",
"URLImageStore"
],
"sources" : [
"Common/DownloadProgress.swift",
"Common/Utils.swift",
"Download/Download.swift",
"Download/DownloadPublisher.swift",
"Download/DownloadTask.swift",
"Download/DownloadTypes.swift",
"DownloadManager.swift",
"URLSession/URLSessionCoordinator.swift",
"URLSession/URLSessionDelegate.swift"
],
"target_dependencies" : [
"Log"
],
"type" : "library"
}
],
"tools_version" : "5.3"
}
Done.