The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build JunimoFire, reference 0.2.0 (618144), with Swift 6.0 for macOS (SPM) on 16 Sep 2024 07:50:11 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.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.53.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/J0onYEong/Junimofire.git
Reference: 0.2.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/J0onYEong/Junimofire
 * tag               0.2.0      -> FETCH_HEAD
HEAD is now at 618144b [Release: 0.2.0] Session기본 interceptor기능 추가(test완료)
Cloned https://github.com/J0onYEong/Junimofire.git
Revision (git rev-parse @):
618144b51bc9335f785525ee8f92d999efd147a5
SUCCESS checkout https://github.com/J0onYEong/Junimofire.git at 0.2.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/J0onYEong/Junimofire.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-117DEE11B69C53C9.txt
[3/12] Compiling JunimoFire JuniosSessionDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/JunimoFire/Session/JuniosSessionDelegate.swift:10:14: warning: non-final class 'JuniosSessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | public class JuniosSessionDelegate: NSObject {
   |              `- warning: non-final class 'JuniosSessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
11 |
12 |     public override init() {
[4/13] Compiling JunimoFire JFValidation.swift
[5/13] Compiling JunimoFire JuniosSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/JunimoFire/Session/JuniosSession.swift:12:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JuniosSession' may have shared mutable state; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | public class JuniosSession {
   |              `- note: class 'JuniosSession' does not conform to the 'Sendable' protocol
11 |
12 |     static let `default` = JuniosSession(configuration: .default)
   |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JuniosSession' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'default' 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
13 |
14 |     let session: URLSession
[6/13] Compiling JunimoFire JFError.swift
[7/13] Compiling JunimoFire JFRetrier.swift
[8/13] Compiling JunimoFire JF.swift
/Users/admin/builder/spi-builder-workspace/Sources/JunimoFire/JF.swift:3:12: warning: let 'JF' is not concurrency-safe because non-'Sendable' type 'JuniosSession' may have shared mutable state; this is an error in the Swift 6 language mode
1 |
2 | /// 전역 인스턴스
3 | public let JF = JuniosSession.default
  |            |- warning: let 'JF' is not concurrency-safe because non-'Sendable' type 'JuniosSession' may have shared mutable state; this is an error in the Swift 6 language mode
  |            |- note: annotate 'JF' 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
4 |
/Users/admin/builder/spi-builder-workspace/Sources/JunimoFire/Session/JuniosSession.swift:10:14: note: class 'JuniosSession' does not conform to the 'Sendable' protocol
 8 | import Foundation
 9 |
10 | public class JuniosSession {
   |              `- note: class 'JuniosSession' does not conform to the 'Sendable' protocol
11 |
12 |     static let `default` = JuniosSession(configuration: .default)
/Users/admin/builder/spi-builder-workspace/Sources/JunimoFire/Session/JuniosSession.swift:12:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JuniosSession' may have shared mutable state; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | public class JuniosSession {
   |              `- note: class 'JuniosSession' does not conform to the 'Sendable' protocol
11 |
12 |     static let `default` = JuniosSession(configuration: .default)
   |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JuniosSession' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'default' 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
13 |
14 |     let session: URLSession
[9/13] Emitting module JunimoFire
/Users/admin/builder/spi-builder-workspace/Sources/JunimoFire/JF.swift:3:12: warning: let 'JF' is not concurrency-safe because non-'Sendable' type 'JuniosSession' may have shared mutable state; this is an error in the Swift 6 language mode
1 |
2 | /// 전역 인스턴스
3 | public let JF = JuniosSession.default
  |            |- warning: let 'JF' is not concurrency-safe because non-'Sendable' type 'JuniosSession' may have shared mutable state; this is an error in the Swift 6 language mode
  |            |- note: annotate 'JF' 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
4 |
/Users/admin/builder/spi-builder-workspace/Sources/JunimoFire/Session/JuniosSession.swift:10:14: note: class 'JuniosSession' does not conform to the 'Sendable' protocol
 8 | import Foundation
 9 |
10 | public class JuniosSession {
   |              `- note: class 'JuniosSession' does not conform to the 'Sendable' protocol
11 |
12 |     static let `default` = JuniosSession(configuration: .default)
/Users/admin/builder/spi-builder-workspace/Sources/JunimoFire/Session/JuniosSession.swift:12:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JuniosSession' may have shared mutable state; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | public class JuniosSession {
   |              `- note: class 'JuniosSession' does not conform to the 'Sendable' protocol
11 |
12 |     static let `default` = JuniosSession(configuration: .default)
   |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JuniosSession' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'default' 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
13 |
14 |     let session: URLSession
/Users/admin/builder/spi-builder-workspace/Sources/JunimoFire/Session/JuniosSessionDelegate.swift:10:14: warning: non-final class 'JuniosSessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | public class JuniosSessionDelegate: NSObject {
   |              `- warning: non-final class 'JuniosSessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
11 |
12 |     public override init() {
[10/13] Compiling JunimoFire JFInterceptor.swift
[11/13] Compiling JunimoFire JFAdapter.swift
[12/13] Compiling JunimoFire JFDataRequest.swift
/Users/admin/builder/spi-builder-workspace/Sources/JunimoFire/Request/DataRequest/JFDataRequest.swift:95:50: error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
  8 | import Foundation
  9 |
 10 | public class JFDataRequest {
    |              `- note: add @available attribute to enclosing class
 11 |
 12 |     private var interceptor: JFRequestInterceptor?
    :
 91 |     }
 92 |
 93 |     private func perform() async throws -> (Data, URLResponse) {
    |                  `- note: add @available attribute to enclosing instance method
 94 |
 95 |         let (data, response) = try await session.data(for: currentRequest())
    |                                                  |- error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
    |                                                  `- note: add 'if #available' version check
 96 |
 97 |         let validationInfo = try await startValidation(data: data, response: response)
/Users/admin/builder/spi-builder-workspace/Sources/JunimoFire/Request/DataRequest/JFDataRequest.swift:109:43: warning: non-sendable type '[JFValidation]' (aka 'Array<(Optional<Data>, URLResponse) -> JFValidationResult>') in implicitly asynchronous access to actor-isolated property 'value' cannot cross actor boundary; this is an error in the Swift 6 language mode
107 |     private func startValidation(data: Data, response: URLResponse) async throws -> ValidationInfo? {
108 |
109 |         let validators = await validators.value
    |                                           |- warning: non-sendable type '[JFValidation]' (aka 'Array<(Optional<Data>, URLResponse) -> JFValidationResult>') in implicitly asynchronous access to actor-isolated property 'value' cannot cross actor boundary; this is an error in the Swift 6 language mode
    |                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
110 |
111 |         for validator in validators {
/Users/admin/builder/spi-builder-workspace/Sources/JunimoFire/Request/DataRequest/JFDataRequest.swift:130:23: error: 'Task' is only available in macOS 10.15 or newer
  8 | import Foundation
  9 |
 10 | public class JFDataRequest {
    |              `- note: add @available attribute to enclosing class
 11 |
 12 |     private var interceptor: JFRequestInterceptor?
    :
116 |     }
117 |
118 |     private func retry(validationInfo: ValidationInfo, response: URLResponse, data: Data) async throws -> (Data, URLResponse) {
    |                  `- note: add @available attribute to enclosing instance method
119 |
120 |         guard let retrier = retrier() else { return (data, response) }
    :
128 |         case .retryWithDelay(let request, let delayAmount):
129 |             await self.requestIsUpdated(request: request)
130 |             try await Task.sleep(nanoseconds: UInt64(delayAmount * 1_000_000_000))
    |                       |- error: 'Task' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
131 |             return try await perform()
132 |         case .finish, .doNotRetry:
/Users/admin/builder/spi-builder-workspace/Sources/JunimoFire/Request/DataRequest/JFDataRequest.swift:130:28: error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
  8 | import Foundation
  9 |
 10 | public class JFDataRequest {
    |              `- note: add @available attribute to enclosing class
 11 |
 12 |     private var interceptor: JFRequestInterceptor?
    :
116 |     }
117 |
118 |     private func retry(validationInfo: ValidationInfo, response: URLResponse, data: Data) async throws -> (Data, URLResponse) {
    |                  `- note: add @available attribute to enclosing instance method
119 |
120 |         guard let retrier = retrier() else { return (data, response) }
    :
128 |         case .retryWithDelay(let request, let delayAmount):
129 |             await self.requestIsUpdated(request: request)
130 |             try await Task.sleep(nanoseconds: UInt64(delayAmount * 1_000_000_000))
    |                            |- error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
    |                            `- note: add 'if #available' version check
131 |             return try await perform()
132 |         case .finish, .doNotRetry:
[13/13] Compiling JunimoFire MutableProperty.swift
BUILD FAILURE 6.0 macosSpm