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 release (618144), with Swift 6.0 for macOS (SPM) on 16 Sep 2024 07:49:31 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: release
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/J0onYEong/Junimofire
 * branch            release    -> FETCH_HEAD
 * [new branch]      release    -> origin/release
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 release
========================================
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 JFRetrier.swift
[4/12] 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:
[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 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() {
[7/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
[8/13] Compiling JunimoFire JFError.swift
[9/13] Compiling JunimoFire JFValidation.swift
[10/13] Compiling JunimoFire JFAdapter.swift
[11/13] Compiling JunimoFire JFInterceptor.swift
[12/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() {
[13/13] Compiling JunimoFire MutableProperty.swift
BUILD FAILURE 6.0 macosSpm