Build Information
Failed to build Lurker with Swift 6.0 for macOS (SPM).
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Sam-Spencer/Lurker.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Sam-Spencer/Lurker
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at b7e24ef Create FUNDING.yml
Cloned https://github.com/Sam-Spencer/Lurker.git
Revision (git rev-parse @):
b7e24ef863a1a41af0cca5e52b4147828c97b032
SUCCESS checkout https://github.com/Sam-Spencer/Lurker.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/Sam-Spencer/Lurker.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a 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-6F35C1178C84523A.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/5] Emitting module Lurker
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:26:23: warning: static property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
24 | /// A generic, shared instance of `Lurker`. Useful if you need to maintain
25 | /// references to registered tasks after launch.
26 | public static var shared = Lurker()
| |- warning: static property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
27 |
28 | /// Tasks that have been successfully registered to the system `BGTaskScheduler`.
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:111:43: error: 'BGTask' is unavailable in macOS
109 | // MARK: - Handling
110 |
111 | func handleMission(backgroundProcess: BGTask, mission: Mission) {
| `- error: 'BGTask' is unavailable in macOS
112 | scheduleMission(mission)
113 |
BackgroundTasks.BGTask:2:12: note: 'BGTask' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | open class BGTask : NSObject {
| `- note: 'BGTask' has been explicitly marked unavailable here
3 | open var identifier: String { get }
4 | open var expirationHandler: (() -> Void)? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Mission.swift:58:30: error: 'BGTask' is unavailable in macOS
56 | /// does not complete before the `taskInfo`'s `expirationHandler` is called.
57 | ///
58 | func runTask(_ taskInfo: BGTask) async -> Bool
| `- error: 'BGTask' is unavailable in macOS
59 |
60 | /// Specify the earliest allowable time (from now) that the system may schedule this
BackgroundTasks.BGTask:2:12: note: 'BGTask' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | open class BGTask : NSObject {
| `- note: 'BGTask' has been explicitly marked unavailable here
3 | open var identifier: String { get }
4 | open var expirationHandler: (() -> Void)? { get set }
[4/5] Compiling Lurker Lurker.swift
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:26:23: warning: static property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
24 | /// A generic, shared instance of `Lurker`. Useful if you need to maintain
25 | /// references to registered tasks after launch.
26 | public static var shared = Lurker()
| |- warning: static property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
27 |
28 | /// Tasks that have been successfully registered to the system `BGTaskScheduler`.
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:111:43: error: 'BGTask' is unavailable in macOS
109 | // MARK: - Handling
110 |
111 | func handleMission(backgroundProcess: BGTask, mission: Mission) {
| `- error: 'BGTask' is unavailable in macOS
112 | scheduleMission(mission)
113 |
BackgroundTasks.BGTask:2:12: note: 'BGTask' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | open class BGTask : NSObject {
| `- note: 'BGTask' has been explicitly marked unavailable here
3 | open var identifier: String { get }
4 | open var expirationHandler: (() -> Void)? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:98:27: error: 'BGTaskScheduler' is unavailable in macOS
96 | guard tasksRegistered.contains(where: { $0.identifier == task.identifier }) == false else { return false }
97 |
98 | let didRegister = BGTaskScheduler.shared.register(forTaskWithIdentifier: task.identifier, using: nil) { backgroundTask in
| `- error: 'BGTaskScheduler' is unavailable in macOS
99 | self.handleMission(backgroundProcess: backgroundTask, mission: task)
100 | }
BackgroundTasks.BGTaskScheduler:2:12: note: 'BGTaskScheduler' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | open class BGTaskScheduler : NSObject {
| `- note: 'BGTaskScheduler' has been explicitly marked unavailable here
3 | @available(*, unavailable)
4 | public init()
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:114:25: error: 'Task' is only available in macOS 10.15 or newer
20 | /// `Lurker` manages all your app's tasks that need to happen in the background.
21 | ///
22 | public final class Lurker {
| `- note: add @available attribute to enclosing class
23 |
24 | /// A generic, shared instance of `Lurker`. Useful if you need to maintain
:
109 | // MARK: - Handling
110 |
111 | func handleMission(backgroundProcess: BGTask, mission: Mission) {
| `- note: add @available attribute to enclosing instance method
112 | scheduleMission(mission)
113 |
114 | let taskQueue = Task {
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
115 | let success = await mission.runTask(backgroundProcess)
116 | backgroundProcess.setTaskCompleted(success: success)
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:114:25: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
20 | /// `Lurker` manages all your app's tasks that need to happen in the background.
21 | ///
22 | public final class Lurker {
| `- note: add @available attribute to enclosing class
23 |
24 | /// A generic, shared instance of `Lurker`. Useful if you need to maintain
:
109 | // MARK: - Handling
110 |
111 | func handleMission(backgroundProcess: BGTask, mission: Mission) {
| `- note: add @available attribute to enclosing instance method
112 | scheduleMission(mission)
113 |
114 | let taskQueue = Task {
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
115 | let success = await mission.runTask(backgroundProcess)
116 | backgroundProcess.setTaskCompleted(success: success)
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:122:23: error: 'cancel()' is only available in macOS 10.15 or newer
20 | /// `Lurker` manages all your app's tasks that need to happen in the background.
21 | ///
22 | public final class Lurker {
| `- note: add @available attribute to enclosing class
23 |
24 | /// A generic, shared instance of `Lurker`. Useful if you need to maintain
:
109 | // MARK: - Handling
110 |
111 | func handleMission(backgroundProcess: BGTask, mission: Mission) {
| `- note: add @available attribute to enclosing instance method
112 | scheduleMission(mission)
113 |
:
120 | // After all operations are cancelled, the completion block below is called to set
121 | // the task to complete.
122 | taskQueue.cancel()
| |- error: 'cancel()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
123 | }
124 | }
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:115:49: warning: capture of 'backgroundProcess' with non-sendable type 'BGTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
113 |
114 | let taskQueue = Task {
115 | let success = await mission.runTask(backgroundProcess)
| `- warning: capture of 'backgroundProcess' with non-sendable type 'BGTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
116 | backgroundProcess.setTaskCompleted(success: success)
117 | }
BackgroundTasks.BGTask:2:12: note: class 'BGTask' does not conform to the 'Sendable' protocol
1 | @available(macOS, unavailable)
2 | open class BGTask : NSObject {
| `- note: class 'BGTask' does not conform to the 'Sendable' protocol
3 | open var identifier: String { get }
4 | open var expirationHandler: (() -> Void)? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'BackgroundTasks'
8 |
9 | import Foundation
10 | import BackgroundTasks
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'BackgroundTasks'
11 |
12 | /// Potential errors that may occur when registering background tasks.
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:150:31: error: 'BGAppRefreshTaskRequest' is unavailable in macOS
148 | switch task.style {
149 | case .brief:
150 | let request = BGAppRefreshTaskRequest(identifier: task.identifier)
| `- error: 'BGAppRefreshTaskRequest' is unavailable in macOS
151 | request.earliestBeginDate = task.earliestStart()
152 | try BGTaskScheduler.shared.submit(request)
BackgroundTasks.BGAppRefreshTaskRequest:2:12: note: 'BGAppRefreshTaskRequest' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | open class BGAppRefreshTaskRequest : BGTaskRequest {
| `- note: 'BGAppRefreshTaskRequest' has been explicitly marked unavailable here
3 | public init(identifier: String)
4 | @available(*, unavailable)
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:152:21: error: 'BGTaskScheduler' is unavailable in macOS
150 | let request = BGAppRefreshTaskRequest(identifier: task.identifier)
151 | request.earliestBeginDate = task.earliestStart()
152 | try BGTaskScheduler.shared.submit(request)
| `- error: 'BGTaskScheduler' is unavailable in macOS
153 | case .extended:
154 | let request = BGProcessingTaskRequest(identifier: task.identifier)
BackgroundTasks.BGTaskScheduler:2:12: note: 'BGTaskScheduler' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | open class BGTaskScheduler : NSObject {
| `- note: 'BGTaskScheduler' has been explicitly marked unavailable here
3 | @available(*, unavailable)
4 | public init()
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:154:31: error: 'BGProcessingTaskRequest' is unavailable in macOS
152 | try BGTaskScheduler.shared.submit(request)
153 | case .extended:
154 | let request = BGProcessingTaskRequest(identifier: task.identifier)
| `- error: 'BGProcessingTaskRequest' is unavailable in macOS
155 | request.earliestBeginDate = task.earliestStart()
156 | try BGTaskScheduler.shared.submit(request)
BackgroundTasks.BGProcessingTaskRequest:2:12: note: 'BGProcessingTaskRequest' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | open class BGProcessingTaskRequest : BGTaskRequest {
| `- note: 'BGProcessingTaskRequest' has been explicitly marked unavailable here
3 | public init(identifier: String)
4 | open var requiresNetworkConnectivity: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Lurker.swift:156:21: error: 'BGTaskScheduler' is unavailable in macOS
154 | let request = BGProcessingTaskRequest(identifier: task.identifier)
155 | request.earliestBeginDate = task.earliestStart()
156 | try BGTaskScheduler.shared.submit(request)
| `- error: 'BGTaskScheduler' is unavailable in macOS
157 | }
158 | } catch {
BackgroundTasks.BGTaskScheduler:2:12: note: 'BGTaskScheduler' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | open class BGTaskScheduler : NSObject {
| `- note: 'BGTaskScheduler' has been explicitly marked unavailable here
3 | @available(*, unavailable)
4 | public init()
[5/5] Compiling Lurker Mission.swift
/Users/admin/builder/spi-builder-workspace/Sources/Lurker/Mission.swift:58:30: error: 'BGTask' is unavailable in macOS
56 | /// does not complete before the `taskInfo`'s `expirationHandler` is called.
57 | ///
58 | func runTask(_ taskInfo: BGTask) async -> Bool
| `- error: 'BGTask' is unavailable in macOS
59 |
60 | /// Specify the earliest allowable time (from now) that the system may schedule this
BackgroundTasks.BGTask:2:12: note: 'BGTask' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | open class BGTask : NSObject {
| `- note: 'BGTask' has been explicitly marked unavailable here
3 | open var identifier: String { get }
4 | open var expirationHandler: (() -> Void)? { get set }
BUILD FAILURE 6.0 macosSpm