The Swift Package Index logo.Swift Package Index

Build Information

Failed to build SwiftlyImageLoader, reference 1.1.0 (b5609b), with Swift 6.3 for Wasm on 16 Apr 2026 05:00:14 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
Reference: 1.1.0
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
 * tag               1.1.0      -> FETCH_HEAD
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 1.1.0
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:d69f4e7582c319245442d62a08b2d7c7fd5a0c0c69f5d2ef11d1530cd8d3329b
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-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 LogLevel.swift
[8/13] Compiling SwiftlyImageLoader SwiftlyImageLoader.swift
[9/13] Compiling SwiftlyImageLoader SwiftlyImageLoaderConfiguration.swift
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:25:40: error: value of type '_' expected to be instance of class or class-constrained type
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: value of type '_' expected to be instance of class or class-constrained type
 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:27:29: error: cannot find 'DispatchQueue' in scope
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
    |                             `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private init() {}
/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 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 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:27:29: error: cannot find 'DispatchQueue' in scope
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
    |                             `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private init() {}
[12/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:25:40: error: value of type '_' expected to be instance of class or class-constrained type
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: value of type '_' expected to be instance of class or class-constrained type
 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:27:29: error: cannot find 'DispatchQueue' in scope
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
    |                             `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private init() {}
/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:132:13: error: cannot find 'DispatchQueue' in scope
130 |             let completions = self.ongoingTasks[url]?.completions ?? []
131 |             self.ongoingTasks[url] = nil
132 |             DispatchQueue.main.async {
    |             `- error: cannot find 'DispatchQueue' in scope
133 |                 completions.forEach { $0(image) }
134 |             }
[13/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 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:27:29: error: cannot find 'DispatchQueue' in scope
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
    |                             `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private init() {}
BUILD FAILURE 6.3 wasm