Build Information
Failed to build Zephyr, reference 3.8.0 (b0dda1
), with Swift 6.0 for Linux on 4 Nov 2024 13:17:22 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ArtSabintsev/Zephyr.git
Reference: 3.8.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/ArtSabintsev/Zephyr
* tag 3.8.0 -> FETCH_HEAD
HEAD is now at b0dda17 Updated podspec
Cloned https://github.com/ArtSabintsev/Zephyr.git
Revision (git rev-parse @):
b0dda179006b354680b1df96e279134a704b0c06
SUCCESS checkout https://github.com/ArtSabintsev/Zephyr.git at 3.8.0
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $PWD
https://github.com/ArtSabintsev/Zephyr.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/4] Emitting module Zephyr
/host/spi-builder-workspace/Sources/Zephyr.swift:22:1: error: Objective-C interoperability is disabled
20 | }
21 |
22 | @objcMembers
| `- error: Objective-C interoperability is disabled
23 | public final class Zephyr: NSObject {
24 | /// A debug flag.
/host/spi-builder-workspace/Sources/Zephyr.swift:29:23: warning: static property 'debugEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 | ///
28 | /// By default, this flag is set to **false**.
29 | public static var debugEnabled = false
| |- warning: static property 'debugEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'debugEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'debugEnabled' 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
30 |
31 | /// If **true**, then `NSUbiquitousKeyValueStore.synchronize()` will be called immediately after any change is made.
/host/spi-builder-workspace/Sources/Zephyr.swift:32:23: warning: static property 'syncUbiquitousKeyValueStoreOnChange' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
30 |
31 | /// If **true**, then `NSUbiquitousKeyValueStore.synchronize()` will be called immediately after any change is made.
32 | public static var syncUbiquitousKeyValueStoreOnChange = true
| |- warning: static property 'syncUbiquitousKeyValueStoreOnChange' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'syncUbiquitousKeyValueStoreOnChange' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'syncUbiquitousKeyValueStoreOnChange' 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
33 |
34 | /// A string containing the notification name that will be posted when Zephyr receives updated data from iCloud.
/host/spi-builder-workspace/Sources/Zephyr.swift:38:24: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Zephyr' may have shared mutable state; this is an error in the Swift 6 language mode
21 |
22 | @objcMembers
23 | public final class Zephyr: NSObject {
| `- note: class 'Zephyr' does not conform to the 'Sendable' protocol
24 | /// A debug flag.
25 | ///
:
36 |
37 | /// The singleton for Zephyr.
38 | private static let shared = Zephyr()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Zephyr' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
39 |
40 | /// A shared key that stores the last synchronization date between `UserDefaults` and `NSUbiquitousKeyValueStore`.
/host/spi-builder-workspace/Sources/Zephyr.swift:285:3: warning: 'public' modifier conflicts with extension's default access of 'private'
283 | /// - Parameters:
284 | /// - to: A `UserDefaults` suite.
285 | public static func setUserDefaultsSuite(to suite: UserDefaults) {
| `- warning: 'public' modifier conflicts with extension's default access of 'private'
286 | shared.userDefaults = suite
287 | printStatus(status: "Updated UserDefaults suite.")
/host/spi-builder-workspace/Sources/Zephyr.swift:438:94: error: cannot find type 'NSKeyValueChangeKey' in scope
436 | }
437 |
438 | public override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
| `- error: cannot find type 'NSKeyValueChangeKey' in scope
439 | guard let keyPath = keyPath, let object = object, monitoredKeys.contains(keyPath) else {
440 | return
/host/spi-builder-workspace/Sources/Zephyr.swift:438:26: error: method does not override any method from its superclass
436 | }
437 |
438 | public override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
| `- error: method does not override any method from its superclass
439 | guard let keyPath = keyPath, let object = object, monitoredKeys.contains(keyPath) else {
440 | return
/host/spi-builder-workspace/Sources/Zephyr.swift:458:2: error: Objective-C interoperability is disabled
456 | // MARK: - Observers (Objective-C)
457 |
458 | @objc
| `- error: Objective-C interoperability is disabled
459 | extension Zephyr {
460 |
[4/4] Compiling Zephyr Zephyr.swift
/host/spi-builder-workspace/Sources/Zephyr.swift:22:1: error: Objective-C interoperability is disabled
20 | }
21 |
22 | @objcMembers
| `- error: Objective-C interoperability is disabled
23 | public final class Zephyr: NSObject {
24 | /// A debug flag.
/host/spi-builder-workspace/Sources/Zephyr.swift:29:23: warning: static property 'debugEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 | ///
28 | /// By default, this flag is set to **false**.
29 | public static var debugEnabled = false
| |- warning: static property 'debugEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'debugEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'debugEnabled' 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
30 |
31 | /// If **true**, then `NSUbiquitousKeyValueStore.synchronize()` will be called immediately after any change is made.
/host/spi-builder-workspace/Sources/Zephyr.swift:32:23: warning: static property 'syncUbiquitousKeyValueStoreOnChange' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
30 |
31 | /// If **true**, then `NSUbiquitousKeyValueStore.synchronize()` will be called immediately after any change is made.
32 | public static var syncUbiquitousKeyValueStoreOnChange = true
| |- warning: static property 'syncUbiquitousKeyValueStoreOnChange' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'syncUbiquitousKeyValueStoreOnChange' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'syncUbiquitousKeyValueStoreOnChange' 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
33 |
34 | /// A string containing the notification name that will be posted when Zephyr receives updated data from iCloud.
/host/spi-builder-workspace/Sources/Zephyr.swift:38:24: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Zephyr' may have shared mutable state; this is an error in the Swift 6 language mode
21 |
22 | @objcMembers
23 | public final class Zephyr: NSObject {
| `- note: class 'Zephyr' does not conform to the 'Sendable' protocol
24 | /// A debug flag.
25 | ///
:
36 |
37 | /// The singleton for Zephyr.
38 | private static let shared = Zephyr()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Zephyr' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
39 |
40 | /// A shared key that stores the last synchronization date between `UserDefaults` and `NSUbiquitousKeyValueStore`.
/host/spi-builder-workspace/Sources/Zephyr.swift:285:3: warning: 'public' modifier conflicts with extension's default access of 'private'
283 | /// - Parameters:
284 | /// - to: A `UserDefaults` suite.
285 | public static func setUserDefaultsSuite(to suite: UserDefaults) {
| `- warning: 'public' modifier conflicts with extension's default access of 'private'
286 | shared.userDefaults = suite
287 | printStatus(status: "Updated UserDefaults suite.")
/host/spi-builder-workspace/Sources/Zephyr.swift:438:94: error: cannot find type 'NSKeyValueChangeKey' in scope
436 | }
437 |
438 | public override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
| `- error: cannot find type 'NSKeyValueChangeKey' in scope
439 | guard let keyPath = keyPath, let object = object, monitoredKeys.contains(keyPath) else {
440 | return
/host/spi-builder-workspace/Sources/Zephyr.swift:438:26: error: method does not override any method from its superclass
436 | }
437 |
438 | public override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
| `- error: method does not override any method from its superclass
439 | guard let keyPath = keyPath, let object = object, monitoredKeys.contains(keyPath) else {
440 | return
/host/spi-builder-workspace/Sources/Zephyr.swift:458:2: error: Objective-C interoperability is disabled
456 | // MARK: - Observers (Objective-C)
457 |
458 | @objc
| `- error: Objective-C interoperability is disabled
459 | extension Zephyr {
460 |
/host/spi-builder-workspace/Sources/Zephyr.swift:59:16: error: cannot find 'NSUbiquitousKeyValueStore' in scope
57 | /// A session-persisted variable to directly access all of the `NSUbiquitousKeyValueStore` elements.
58 | private var zephyrRemoteStoreDictionary: [String: Any] {
59 | return NSUbiquitousKeyValueStore.default.dictionaryRepresentation
| `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
60 | }
61 |
/host/spi-builder-workspace/Sources/Zephyr.swift:71:9: error: cannot find 'NSUbiquitousKeyValueStore' in scope
69 | super.init()
70 | setupNotifications()
71 | NSUbiquitousKeyValueStore.default.synchronize()
| `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
72 | }
73 |
/host/spi-builder-workspace/Sources/Zephyr.swift:78:30: error: value of type 'UserDefaults' has no member 'removeObserver'
76 | zephyrQueue.sync {
77 | for key in registeredObservationKeys {
78 | userDefaults.removeObserver(self, forKeyPath: key)
| `- error: value of type 'UserDefaults' has no member 'removeObserver'
79 | }
80 | }
/host/spi-builder-workspace/Sources/Zephyr.swift:225:54: error: cannot find 'NSUbiquitousKeyValueStore' in scope
223 | private func setupNotifications() {
224 | NotificationCenter.default.addObserver(self, selector: #selector(keysDidChangeOnCloud(notification:)),
225 | name: NSUbiquitousKeyValueStore.didChangeExternallyNotification,
| `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
226 | object: nil)
227 |
/host/spi-builder-workspace/Sources/Zephyr.swift:224:64: error: '#selector' can only be used with the Objective-C runtime
222 | /// Setup UIApplication and UIScene event state notifications.
223 | private func setupNotifications() {
224 | NotificationCenter.default.addObserver(self, selector: #selector(keysDidChangeOnCloud(notification:)),
| `- error: '#selector' can only be used with the Objective-C runtime
225 | name: NSUbiquitousKeyValueStore.didChangeExternallyNotification,
226 | object: nil)
/host/spi-builder-workspace/Sources/Zephyr.swift:321:31: error: cannot find 'NSUbiquitousKeyValueStore' in scope
319 | /// - value: The value that will be synchronized. Must be passed with a key, otherwise, nothing will happen.
320 | func syncToCloud(key: String? = nil, value: Any? = nil) {
321 | let ubiquitousStore = NSUbiquitousKeyValueStore.default
| `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
322 | ubiquitousStore.set(Date(), forKey: ZephyrSyncKey)
323 |
/host/spi-builder-workspace/Sources/Zephyr.swift:345:13: error: cannot find 'NSUbiquitousKeyValueStore' in scope
343 | Zephyr.printKeySyncStatus(key: key, value: value, destination: .remote)
344 | } else {
345 | NSUbiquitousKeyValueStore.default.removeObject(forKey: key)
| `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
346 | Zephyr.printKeySyncStatus(key: key, value: value, destination: .remote)
347 | }
/host/spi-builder-workspace/Sources/Zephyr.swift:371:44: warning: capture of 'defaults' with non-sendable type 'UserDefaults' in a `@Sendable` closure; this is an error in the Swift 6 language mode
369 | for (key, value) in zephyrRemoteStoreDictionary {
370 | unregisterObserver(key: key)
371 | DispatchQueue.main.async { defaults.set(value, forKey: key) }
| `- warning: capture of 'defaults' with non-sendable type 'UserDefaults' in a `@Sendable` closure; this is an error in the Swift 6 language mode
372 | Zephyr.printKeySyncStatus(key: key, value: value, destination: .local)
373 | registerObserver(key: key)
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
1 | open class UserDefaults : NSObject {
| `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
2 | open class var standard: UserDefaults { get }
3 | open class func resetStandardUserDefaults()
/host/spi-builder-workspace/Sources/Zephyr.swift:371:57: warning: capture of 'value' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
369 | for (key, value) in zephyrRemoteStoreDictionary {
370 | unregisterObserver(key: key)
371 | DispatchQueue.main.async { defaults.set(value, forKey: key) }
| `- warning: capture of 'value' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
372 | Zephyr.printKeySyncStatus(key: key, value: value, destination: .local)
373 | registerObserver(key: key)
/host/spi-builder-workspace/Sources/Zephyr.swift:382:40: warning: capture of 'defaults' with non-sendable type 'UserDefaults' in a `@Sendable` closure; this is an error in the Swift 6 language mode
380 |
381 | if let value = value {
382 | DispatchQueue.main.async { defaults.set(value, forKey: key) }
| `- warning: capture of 'defaults' with non-sendable type 'UserDefaults' in a `@Sendable` closure; this is an error in the Swift 6 language mode
383 | Zephyr.printKeySyncStatus(key: key, value: value, destination: .local)
384 | } else {
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
1 | open class UserDefaults : NSObject {
| `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
2 | open class var standard: UserDefaults { get }
3 | open class func resetStandardUserDefaults()
/host/spi-builder-workspace/Sources/Zephyr.swift:382:53: warning: capture of 'value' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
380 |
381 | if let value = value {
382 | DispatchQueue.main.async { defaults.set(value, forKey: key) }
| `- warning: capture of 'value' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
383 | Zephyr.printKeySyncStatus(key: key, value: value, destination: .local)
384 | } else {
/host/spi-builder-workspace/Sources/Zephyr.swift:385:40: warning: capture of 'defaults' with non-sendable type 'UserDefaults' in a `@Sendable` closure; this is an error in the Swift 6 language mode
383 | Zephyr.printKeySyncStatus(key: key, value: value, destination: .local)
384 | } else {
385 | DispatchQueue.main.async { defaults.set(nil, forKey: key) }
| `- warning: capture of 'defaults' with non-sendable type 'UserDefaults' in a `@Sendable` closure; this is an error in the Swift 6 language mode
386 | Zephyr.printKeySyncStatus(key: key, value: nil, destination: .local)
387 | }
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
1 | open class UserDefaults : NSObject {
| `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
2 | open class var standard: UserDefaults { get }
3 | open class func resetStandardUserDefaults()
/host/spi-builder-workspace/Sources/Zephyr.swift:411:26: error: value of type 'UserDefaults' has no member 'addObserver'
409 | if !registeredObservationKeys.contains(key) {
410 |
411 | userDefaults.addObserver(self, forKeyPath: key, options: .new, context: nil)
| `- error: value of type 'UserDefaults' has no member 'addObserver'
412 | registeredObservationKeys.append(key)
413 |
/host/spi-builder-workspace/Sources/Zephyr.swift:411:71: error: cannot infer contextual base in reference to member 'new'
409 | if !registeredObservationKeys.contains(key) {
410 |
411 | userDefaults.addObserver(self, forKeyPath: key, options: .new, context: nil)
| `- error: cannot infer contextual base in reference to member 'new'
412 | registeredObservationKeys.append(key)
413 |
/host/spi-builder-workspace/Sources/Zephyr.swift:411:85: error: 'nil' requires a contextual type
409 | if !registeredObservationKeys.contains(key) {
410 |
411 | userDefaults.addObserver(self, forKeyPath: key, options: .new, context: nil)
| `- error: 'nil' requires a contextual type
412 | registeredObservationKeys.append(key)
413 |
/host/spi-builder-workspace/Sources/Zephyr.swift:430:26: error: value of type 'UserDefaults' has no member 'removeObserver'
428 | if let index = registeredObservationKeys.firstIndex(of: key) {
429 |
430 | userDefaults.removeObserver(self, forKeyPath: key, context: nil)
| `- error: value of type 'UserDefaults' has no member 'removeObserver'
431 | registeredObservationKeys.remove(at: index)
432 |
/host/spi-builder-workspace/Sources/Zephyr.swift:430:73: error: 'nil' requires a contextual type
428 | if let index = registeredObservationKeys.firstIndex(of: key) {
429 |
430 | userDefaults.removeObserver(self, forKeyPath: key, context: nil)
| `- error: 'nil' requires a contextual type
431 | registeredObservationKeys.remove(at: index)
432 |
/host/spi-builder-workspace/Sources/Zephyr.swift:445:16: warning: capture of 'self' with non-sendable type 'Zephyr' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |
22 | @objcMembers
23 | public final class Zephyr: NSObject {
| `- note: class 'Zephyr' does not conform to the 'Sendable' protocol
24 | /// A debug flag.
25 | ///
:
443 | // Synchronize changes if key is monitored and if key is currently registered to respond to changes
444 | zephyrQueue.async {
445 | if self.registeredObservationKeys.contains(keyPath) {
| `- warning: capture of 'self' with non-sendable type 'Zephyr' in a `@Sendable` closure; this is an error in the Swift 6 language mode
446 | if object is UserDefaults {
447 | self.userDefaults.set(Date(), forKey: self.ZephyrSyncKey)
/host/spi-builder-workspace/Sources/Zephyr.swift:446:20: warning: capture of 'object' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
444 | zephyrQueue.async {
445 | if self.registeredObservationKeys.contains(keyPath) {
446 | if object is UserDefaults {
| `- warning: capture of 'object' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
447 | self.userDefaults.set(Date(), forKey: self.ZephyrSyncKey)
448 | }
/host/spi-builder-workspace/Sources/Zephyr.swift:463:9: error: cannot find 'NSUbiquitousKeyValueStore' in scope
461 | /// Observation method for UIApplicationWillEnterForegroundNotification
462 | func willEnterForeground(notification: Notification) {
463 | NSUbiquitousKeyValueStore.default.synchronize()
| `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
464 | }
465 |
/host/spi-builder-workspace/Sources/Zephyr.swift:468:33: error: cannot find 'NSUbiquitousKeyValueStore' in scope
466 | /// Observation method for `NSUbiquitousKeyValueStore.didChangeExternallyNotification`
467 | func keysDidChangeOnCloud(notification: Notification) {
468 | if notification.name == NSUbiquitousKeyValueStore.didChangeExternallyNotification {
| `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
469 | guard let userInfo = (notification as NSNotification).userInfo,
470 | let cloudKeys = userInfo[NSUbiquitousKeyValueStoreChangedKeysKey] as? [String],
/host/spi-builder-workspace/Sources/Zephyr.swift:470:42: error: cannot find 'NSUbiquitousKeyValueStoreChangedKeysKey' in scope
468 | if notification.name == NSUbiquitousKeyValueStore.didChangeExternallyNotification {
469 | guard let userInfo = (notification as NSNotification).userInfo,
470 | let cloudKeys = userInfo[NSUbiquitousKeyValueStoreChangedKeysKey] as? [String],
| `- error: cannot find 'NSUbiquitousKeyValueStoreChangedKeysKey' in scope
471 | let remoteStoredDate = zephyrRemoteStoreDictionary[ZephyrSyncKey] as? Date else {
472 | return
BUILD FAILURE 6.0 linux