The Swift Package Index logo.Swift Package Index

Build Information

Failed to build SwiftlyImageLoader, reference main (b5609b), with Swift 6.1 for Android on 31 May 2025 01:51:22 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/mohsinbmwm3/SwiftlyImageLoader
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at b5609bb Updated ImageTransforms to Apply custom resizing, cropping, grayscale, or circular masks before caching or display — with per-request flexibility.
Cloned https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
Revision (git rev-parse @):
b5609bb888c7a4410abac6891b8874ae073be740
SUCCESS checkout https://github.com/mohsinbmwm3/SwiftlyImageLoader.git at main
========================================
Build
========================================
Selected platform:         android
Swift version:             6.1
Building package at path:  $PWD
https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftlyImageLoader",
  "name" : "SwiftlyImageLoader",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftlyImageLoader",
      "targets" : [
        "SwiftlyImageLoader"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftlyImageLoaderUIKit",
      "targets" : [
        "SwiftlyImageLoaderUIKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftlyImageLoaderAppKit",
      "targets" : [
        "SwiftlyImageLoaderAppKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftlyImageLoaderSwiftUI",
      "targets" : [
        "SwiftlyImageLoaderSwiftUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftlyImageLoaderUIKit",
      "module_type" : "SwiftTarget",
      "name" : "SwiftlyImageLoaderUIKit",
      "path" : "Sources/SwiftlyImageLoaderUIKit",
      "product_memberships" : [
        "SwiftlyImageLoaderUIKit"
      ],
      "sources" : [
        "UIImageView+ImageLoader.swift"
      ],
      "target_dependencies" : [
        "SwiftlyImageLoader"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftlyImageLoaderSwiftUI",
      "module_type" : "SwiftTarget",
      "name" : "SwiftlyImageLoaderSwiftUI",
      "path" : "Sources/SwiftlyImageLoaderSwiftUI",
      "product_memberships" : [
        "SwiftlyImageLoaderSwiftUI"
      ],
      "sources" : [
        "SwiftlyAsyncImage.swift"
      ],
      "target_dependencies" : [
        "SwiftlyImageLoader"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftlyImageLoaderAppKit",
      "module_type" : "SwiftTarget",
      "name" : "SwiftlyImageLoaderAppKit",
      "path" : "Sources/SwiftlyImageLoaderAppKit",
      "product_memberships" : [
        "SwiftlyImageLoaderAppKit"
      ],
      "sources" : [
        "NSImageView+ImageLoader.swift"
      ],
      "target_dependencies" : [
        "SwiftlyImageLoader"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftlyImageLoader",
      "module_type" : "SwiftTarget",
      "name" : "SwiftlyImageLoader",
      "path" : "Sources/SwiftlyImageLoader",
      "product_memberships" : [
        "SwiftlyImageLoader",
        "SwiftlyImageLoaderUIKit",
        "SwiftlyImageLoaderAppKit",
        "SwiftlyImageLoaderSwiftUI"
      ],
      "sources" : [
        "DiskCache.swift",
        "ImageCache.swift",
        "ImageLoader.swift",
        "LogLevel.swift",
        "SwiftlyImageLoader.swift",
        "SwiftlyImageLoaderConfiguration.swift",
        "Utils/ImageResizer.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version-24593BA9C3E375BF.txt
[6/13] Compiling SwiftlyImageLoader ImageResizer.swift
[7/13] Compiling SwiftlyImageLoader SwiftlyImageLoader.swift
[8/13] Compiling SwiftlyImageLoader LogLevel.swift
[9/13] Compiling SwiftlyImageLoader ImageLoader.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:50: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                  `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:73: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:50:60: error: cannot find type 'CrossPlatformImage' in scope
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
 51 |         taskQueue.async {
 52 |             if let existing = self.ongoingTasks[url] {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:128:60: error: cannot find type 'CrossPlatformImage' in scope
126 |     }
127 |
128 |     private func callCompletions(for url: URL, with image: CrossPlatformImage?) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
129 |         taskQueue.async {
130 |             let completions = self.ongoingTasks[url]?.completions ?? []
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:64:85: error: cannot find 'CrossPlatformImage' in scope
 62 |                 let key = url.absoluteString
 63 |
 64 |                 if let data = await ImageCache.shared.get(forKey: key), let image = CrossPlatformImage(data: data) {
    |                                                                                     `- error: cannot find 'CrossPlatformImage' in scope
 65 |                     self.log("✅ Loaded from memory cache: \(url.absoluteString)", level: .basic)
 66 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:75:84: error: cannot find 'CrossPlatformImage' in scope
 73 |                 }
 74 |
 75 |                 if let data = await DiskCache.shared.get(forKey: key), let image = CrossPlatformImage(data: data) {
    |                                                                                    `- error: cannot find 'CrossPlatformImage' in scope
 76 |                     self.log("✅ Loaded from disk cache: \(url.absoluteString)", level: .basic)
 77 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:92:36: error: cannot find 'CrossPlatformImage' in scope
 90 |                 do {
 91 |                     let (data, _) = try await self.session.data(from: url)
 92 |                     if let image = CrossPlatformImage(data: data) {
    |                                    `- error: cannot find 'CrossPlatformImage' in scope
 93 |                         self.log("✅ Downloaded from network: \(url.absoluteString)", level: .basic)
 94 |                         let finalImage = await MainActor.run {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:51:25: error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
    |                         `- error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
 52 |             if let existing = self.ongoingTasks[url] {
 53 |                 self.log("🔁 Joining existing task for: \(url.absoluteString)", level: .verbose)
Dispatch.DispatchQueue.async:3:15: note: 'async(execute:)' declared here
1 | class DispatchQueue {
2 | @available(macOS 10.10, iOS 8.0, *)
3 |   public func async(execute workItem: DispatchWorkItem)}
  |               `- note: 'async(execute:)' declared here
4 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:141:25: error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
139 |     /// - Parameter url: The URL for which to cancel the task.
140 |     public func cancelLoad(for url: URL) {
141 |         taskQueue.async {
    |                         `- error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
142 |             if let entry = self.ongoingTasks[url] {
143 |                 self.log("🔴 Cancelling task for: \(url.absoluteString)", level: .verbose)
Dispatch.DispatchQueue.async:3:15: note: 'async(execute:)' declared here
1 | class DispatchQueue {
2 | @available(macOS 10.10, iOS 8.0, *)
3 |   public func async(execute workItem: DispatchWorkItem)}
  |               `- note: 'async(execute:)' declared here
4 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[10/13] Emitting module SwiftlyImageLoader
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:50: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                  `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:73: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:50:60: error: cannot find type 'CrossPlatformImage' in scope
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
 51 |         taskQueue.async {
 52 |             if let existing = self.ongoingTasks[url] {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:128:60: error: cannot find type 'CrossPlatformImage' in scope
126 |     }
127 |
128 |     private func callCompletions(for url: URL, with image: CrossPlatformImage?) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
129 |         taskQueue.async {
130 |             let completions = self.ongoingTasks[url]?.completions ?? []
[11/13] Compiling SwiftlyImageLoader DiskCache.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
[12/13] Compiling SwiftlyImageLoader ImageCache.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
[13/13] Compiling SwiftlyImageLoader SwiftlyImageLoaderConfiguration.swift
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/9] Compiling SwiftlyImageLoader ImageResizer.swift
[3/9] Compiling SwiftlyImageLoader SwiftlyImageLoader.swift
[4/9] Compiling SwiftlyImageLoader SwiftlyImageLoaderConfiguration.swift
[5/9] Compiling SwiftlyImageLoader DiskCache.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
[6/9] Compiling SwiftlyImageLoader LogLevel.swift
[7/9] Compiling SwiftlyImageLoader ImageLoader.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:50: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                  `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:73: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:50:60: error: cannot find type 'CrossPlatformImage' in scope
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
 51 |         taskQueue.async {
 52 |             if let existing = self.ongoingTasks[url] {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:128:60: error: cannot find type 'CrossPlatformImage' in scope
126 |     }
127 |
128 |     private func callCompletions(for url: URL, with image: CrossPlatformImage?) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
129 |         taskQueue.async {
130 |             let completions = self.ongoingTasks[url]?.completions ?? []
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:64:85: error: cannot find 'CrossPlatformImage' in scope
 62 |                 let key = url.absoluteString
 63 |
 64 |                 if let data = await ImageCache.shared.get(forKey: key), let image = CrossPlatformImage(data: data) {
    |                                                                                     `- error: cannot find 'CrossPlatformImage' in scope
 65 |                     self.log("✅ Loaded from memory cache: \(url.absoluteString)", level: .basic)
 66 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:75:84: error: cannot find 'CrossPlatformImage' in scope
 73 |                 }
 74 |
 75 |                 if let data = await DiskCache.shared.get(forKey: key), let image = CrossPlatformImage(data: data) {
    |                                                                                    `- error: cannot find 'CrossPlatformImage' in scope
 76 |                     self.log("✅ Loaded from disk cache: \(url.absoluteString)", level: .basic)
 77 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:92:36: error: cannot find 'CrossPlatformImage' in scope
 90 |                 do {
 91 |                     let (data, _) = try await self.session.data(from: url)
 92 |                     if let image = CrossPlatformImage(data: data) {
    |                                    `- error: cannot find 'CrossPlatformImage' in scope
 93 |                         self.log("✅ Downloaded from network: \(url.absoluteString)", level: .basic)
 94 |                         let finalImage = await MainActor.run {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:51:25: error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
    |                         `- error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
 52 |             if let existing = self.ongoingTasks[url] {
 53 |                 self.log("🔁 Joining existing task for: \(url.absoluteString)", level: .verbose)
Dispatch.DispatchQueue.async:3:15: note: 'async(execute:)' declared here
1 | class DispatchQueue {
2 | @available(macOS 10.10, iOS 8.0, *)
3 |   public func async(execute workItem: DispatchWorkItem)}
  |               `- note: 'async(execute:)' declared here
4 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:141:25: error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
139 |     /// - Parameter url: The URL for which to cancel the task.
140 |     public func cancelLoad(for url: URL) {
141 |         taskQueue.async {
    |                         `- error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
142 |             if let entry = self.ongoingTasks[url] {
143 |                 self.log("🔴 Cancelling task for: \(url.absoluteString)", level: .verbose)
Dispatch.DispatchQueue.async:3:15: note: 'async(execute:)' declared here
1 | class DispatchQueue {
2 | @available(macOS 10.10, iOS 8.0, *)
3 |   public func async(execute workItem: DispatchWorkItem)}
  |               `- note: 'async(execute:)' declared here
4 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/9] Emitting module SwiftlyImageLoader
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:50: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                  `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:73: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:50:60: error: cannot find type 'CrossPlatformImage' in scope
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
 51 |         taskQueue.async {
 52 |             if let existing = self.ongoingTasks[url] {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:128:60: error: cannot find type 'CrossPlatformImage' in scope
126 |     }
127 |
128 |     private func callCompletions(for url: URL, with image: CrossPlatformImage?) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
129 |         taskQueue.async {
130 |             let completions = self.ongoingTasks[url]?.completions ?? []
[9/9] Compiling SwiftlyImageLoader ImageCache.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
BUILD FAILURE 6.1 android