The Swift Package Index logo.Swift Package Index

Build Information

Failed to build SwiftlyImageLoader, reference main (b5609b), with Swift 6.3 for Linux on 21 Apr 2026 19:13:16 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/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:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
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:         linux
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-4609320-2":/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:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:5a7d791d2ead8a924b1292cb31bf3288eabcfe8880e0b005b00b45b71a5bc36a
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:basic-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 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: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 |
[8/13] Compiling SwiftlyImageLoader SwiftlyImageLoader.swift
[9/13] Compiling SwiftlyImageLoader LogLevel.swift
[10/13] Compiling SwiftlyImageLoader SwiftlyImageLoaderConfiguration.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[11/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: 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: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 ?? []
[12/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 |
[13/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 |
BUILD FAILURE 6.3 linux