Build Information
Failed to build FuturaLog, reference master (088587
), with Swift 6.1 for Android on 27 May 2025 13:34:31 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kaqu/futuralog.git
Reference: master
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/kaqu/futuralog
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 088587a Update README.md
Cloned https://github.com/kaqu/futuralog.git
Revision (git rev-parse @):
088587a555814bd6449253d5d18ddd181c2e6f29
SUCCESS checkout https://github.com/kaqu/futuralog.git at master
========================================
Build
========================================
Selected platform: android
Swift version: 6.1
Building package at path: $PWD
https://github.com/kaqu/futuralog.git
https://github.com/kaqu/futuralog.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "FuturaLog",
"name" : "FuturaLog",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "FuturaLog",
"targets" : [
"FuturaLog"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "FuturaLogTests",
"module_type" : "SwiftTarget",
"name" : "FuturaLogTests",
"path" : "Tests/FuturaLogTests",
"sources" : [
"FuturaLogTests.swift"
],
"target_dependencies" : [
"FuturaLog"
],
"type" : "test"
},
{
"c99name" : "FuturaLog",
"module_type" : "SwiftTarget",
"name" : "FuturaLog",
"path" : "Sources/FuturaLog",
"product_memberships" : [
"FuturaLog"
],
"sources" : [
"CrashHandling/CrashCatcher.swift",
"FlushableTextOutputStream.swift",
"Log.swift",
"LogFormatter.swift",
"LogReceiver.swift",
"LogRecievers/LogFilePrinter.swift",
"LogRecievers/LogFileStorage.swift",
"LogRecievers/LogMemoryStorage.swift",
"LogRecievers/LogPrinter.swift",
"LogStorage.swift",
"Logger.swift",
"Server/FlatLog.swift",
"Server/LogEnvironment.swift",
"Server/LogPackage.swift",
"Server/LogServer.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:9f3c606dcd2a4f06d17ba472aa533c43685ba7ba19a5c9bc23518a066eb7f86a
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/17] Compiling FuturaLog LogEnvironment.swift
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 | return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 | }
[4/17] Compiling FuturaLog LogPackage.swift
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 | return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 | }
[5/18] Compiling FuturaLog Log.swift
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:36:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public enum LogCategory : String, Codable {
| `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
26 |
27 | case crash
:
34 | case void // not present in `all` property since void is special type which is ignored by default
35 |
36 | public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
| |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
37 | }
38 |
[6/18] Compiling FuturaLog LogFormatter.swift
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:36:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public enum LogCategory : String, Codable {
| `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
26 |
27 | case crash
:
34 | case void // not present in `all` property since void is special type which is ignored by default
35 |
36 | public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
| |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
37 | }
38 |
[7/18] Compiling FuturaLog LogReceiver.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFilePrinter.swift:44:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
42 |
43 | if !FileManager.default.fileExists(atPath: filePath) {
44 | FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
45 | } else { /* nothing */ }
46 |
[8/18] Compiling FuturaLog LogFilePrinter.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFilePrinter.swift:44:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
42 |
43 | if !FileManager.default.fileExists(atPath: filePath) {
44 | FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
45 | } else { /* nothing */ }
46 |
[9/18] Compiling FuturaLog LogPrinter.swift
[10/18] Compiling FuturaLog LogStorage.swift
[11/18] Compiling FuturaLog Logger.swift
/host/spi-builder-workspace/Sources/FuturaLog/Logger.swift:7:28: warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public static let sessionID: String = UUID().uuidString
6 |
7 | fileprivate static var recievers: Array<LogReceiver> = []
| |- warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'recievers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'recievers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | fileprivate static let logsQueue = DispatchQueue(label: "futura.log.mainQueue", qos: .utility)
9 | }
/host/spi-builder-workspace/Sources/FuturaLog/Logger.swift:14:44: warning: capture of 'reciever' with non-sendable type 'any LogReceiver' in a '@Sendable' closure; this is an error in the Swift 6 language mode
12 |
13 | static func addReciever(_ reciever: LogReceiver) {
14 | logsQueue.async { recievers.append(reciever) }
| `- warning: capture of 'reciever' with non-sendable type 'any LogReceiver' in a '@Sendable' closure; this is an error in the Swift 6 language mode
15 | }
16 |
/host/spi-builder-workspace/Sources/FuturaLog/LogReceiver.swift:3:17: note: protocol 'LogReceiver' does not conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public protocol LogReceiver {
| `- note: protocol 'LogReceiver' does not conform to the 'Sendable' protocol
4 |
5 | var allowedCategories: [LogCategory] { get }
/host/spi-builder-workspace/Sources/FuturaLog/Logger.swift:18:58: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 |
17 | static func send(_ log: Log) {
18 | logsQueue.async { recievers.forEach { $0.recieve(log) } }
| `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
19 | }
20 |
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Log : Codable {
| `- note: consider making struct 'Log' conform to the 'Sendable' protocol
4 |
5 | public let category: LogCategory
/host/spi-builder-workspace/Sources/FuturaLog/Logger.swift:18:58: warning: capture of 'log' with non-sendable type 'Log' in an isolated closure; this is an error in the Swift 6 language mode
16 |
17 | static func send(_ log: Log) {
18 | logsQueue.async { recievers.forEach { $0.recieve(log) } }
| `- warning: capture of 'log' with non-sendable type 'Log' in an isolated closure; this is an error in the Swift 6 language mode
19 | }
20 |
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Log : Codable {
| `- note: consider making struct 'Log' conform to the 'Sendable' protocol
4 |
5 | public let category: LogCategory
[12/18] Compiling FuturaLog FlatLog.swift
/host/spi-builder-workspace/Sources/FuturaLog/Logger.swift:7:28: warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public static let sessionID: String = UUID().uuidString
6 |
7 | fileprivate static var recievers: Array<LogReceiver> = []
| |- warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'recievers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'recievers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | fileprivate static let logsQueue = DispatchQueue(label: "futura.log.mainQueue", qos: .utility)
9 | }
/host/spi-builder-workspace/Sources/FuturaLog/Logger.swift:14:44: warning: capture of 'reciever' with non-sendable type 'any LogReceiver' in a '@Sendable' closure; this is an error in the Swift 6 language mode
12 |
13 | static func addReciever(_ reciever: LogReceiver) {
14 | logsQueue.async { recievers.append(reciever) }
| `- warning: capture of 'reciever' with non-sendable type 'any LogReceiver' in a '@Sendable' closure; this is an error in the Swift 6 language mode
15 | }
16 |
/host/spi-builder-workspace/Sources/FuturaLog/LogReceiver.swift:3:17: note: protocol 'LogReceiver' does not conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public protocol LogReceiver {
| `- note: protocol 'LogReceiver' does not conform to the 'Sendable' protocol
4 |
5 | var allowedCategories: [LogCategory] { get }
/host/spi-builder-workspace/Sources/FuturaLog/Logger.swift:18:58: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
16 |
17 | static func send(_ log: Log) {
18 | logsQueue.async { recievers.forEach { $0.recieve(log) } }
| `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
19 | }
20 |
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Log : Codable {
| `- note: consider making struct 'Log' conform to the 'Sendable' protocol
4 |
5 | public let category: LogCategory
/host/spi-builder-workspace/Sources/FuturaLog/Logger.swift:18:58: warning: capture of 'log' with non-sendable type 'Log' in an isolated closure; this is an error in the Swift 6 language mode
16 |
17 | static func send(_ log: Log) {
18 | logsQueue.async { recievers.forEach { $0.recieve(log) } }
| `- warning: capture of 'log' with non-sendable type 'Log' in an isolated closure; this is an error in the Swift 6 language mode
19 | }
20 |
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Log : Codable {
| `- note: consider making struct 'Log' conform to the 'Sendable' protocol
4 |
5 | public let category: LogCategory
[13/18] Compiling FuturaLog LogFileStorage.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFileStorage.swift:27:19: warning: capture of 'self' with non-sendable type 'LogFileStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
2 |
3 | // TODO: add cycling storage, session separated and date separated modes
4 | public final class LogFileStorage : LogReceiver {
| `- note: class 'LogFileStorage' does not conform to the 'Sendable' protocol
5 |
6 | public static let jsonDecoder = JSONDecoder()
:
25 | public func recieve(_ log: Log) {
26 | synchronizationQueue.async {
27 | guard self.allowedCategories.contains(log.category) else {
| `- warning: capture of 'self' with non-sendable type 'LogFileStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
28 | return
29 | }
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFileStorage.swift:27:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
25 | public func recieve(_ log: Log) {
26 | synchronizationQueue.async {
27 | guard self.allowedCategories.contains(log.category) else {
| `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
28 | return
29 | }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Log : Codable {
| `- note: consider making struct 'Log' conform to the 'Sendable' protocol
4 |
5 | public let category: LogCategory
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFileStorage.swift:53:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
51 |
52 | if !FileManager.default.fileExists(atPath: filePath) {
53 | FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
54 | } else { /* nothing */ }
55 |
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogMemoryStorage.swift:20:19: warning: capture of 'self' with non-sendable type 'LogMemoryStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public final class LogMemoryStorage : LogReceiver {
| `- note: class 'LogMemoryStorage' does not conform to the 'Sendable' protocol
4 |
5 | fileprivate let synchronizationQueue = DispatchQueue(label: "futura.log.storage.memory.syncQueue")
:
18 | public func recieve(_ log: Log) {
19 | synchronizationQueue.async {
20 | guard self.allowedCategories.contains(log.category) else {
| `- warning: capture of 'self' with non-sendable type 'LogMemoryStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
21 | return
22 | }
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogMemoryStorage.swift:20:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
18 | public func recieve(_ log: Log) {
19 | synchronizationQueue.async {
20 | guard self.allowedCategories.contains(log.category) else {
| `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
21 | return
22 | }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Log : Codable {
| `- note: consider making struct 'Log' conform to the 'Sendable' protocol
4 |
5 | public let category: LogCategory
[14/18] Compiling FuturaLog LogMemoryStorage.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFileStorage.swift:27:19: warning: capture of 'self' with non-sendable type 'LogFileStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
2 |
3 | // TODO: add cycling storage, session separated and date separated modes
4 | public final class LogFileStorage : LogReceiver {
| `- note: class 'LogFileStorage' does not conform to the 'Sendable' protocol
5 |
6 | public static let jsonDecoder = JSONDecoder()
:
25 | public func recieve(_ log: Log) {
26 | synchronizationQueue.async {
27 | guard self.allowedCategories.contains(log.category) else {
| `- warning: capture of 'self' with non-sendable type 'LogFileStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
28 | return
29 | }
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFileStorage.swift:27:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
25 | public func recieve(_ log: Log) {
26 | synchronizationQueue.async {
27 | guard self.allowedCategories.contains(log.category) else {
| `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
28 | return
29 | }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Log : Codable {
| `- note: consider making struct 'Log' conform to the 'Sendable' protocol
4 |
5 | public let category: LogCategory
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFileStorage.swift:53:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
51 |
52 | if !FileManager.default.fileExists(atPath: filePath) {
53 | FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
54 | } else { /* nothing */ }
55 |
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogMemoryStorage.swift:20:19: warning: capture of 'self' with non-sendable type 'LogMemoryStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public final class LogMemoryStorage : LogReceiver {
| `- note: class 'LogMemoryStorage' does not conform to the 'Sendable' protocol
4 |
5 | fileprivate let synchronizationQueue = DispatchQueue(label: "futura.log.storage.memory.syncQueue")
:
18 | public func recieve(_ log: Log) {
19 | synchronizationQueue.async {
20 | guard self.allowedCategories.contains(log.category) else {
| `- warning: capture of 'self' with non-sendable type 'LogMemoryStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
21 | return
22 | }
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogMemoryStorage.swift:20:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
18 | public func recieve(_ log: Log) {
19 | synchronizationQueue.async {
20 | guard self.allowedCategories.contains(log.category) else {
| `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
21 | return
22 | }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Log : Codable {
| `- note: consider making struct 'Log' conform to the 'Sendable' protocol
4 |
5 | public let category: LogCategory
error: emit-module command failed with exit code 1 (use -v to see invocation)
[15/18] Emitting module FuturaLog
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:32:51: error: cannot find type 'NSException' in scope
30 | }
31 |
32 | fileprivate func exceptionLogHandler(_ exception: NSException)-> Swift.Void {
| `- error: cannot find type 'NSException' in scope
33 | Logger.send(Log(.crash, message: "Exception: \(exception)\n\n\(Thread.callStackSymbols.joined(separator: "\n"))\n"))
34 | Logger.flush()
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:43:52: error: cannot find type 'NSException' in scope
41 | }
42 |
43 | fileprivate func exceptionVoidHandler(_ exception: NSException)-> Swift.Void { /* void */ }
| `- error: cannot find type 'NSException' in scope
44 |
45 | fileprivate func signalVoidHandler(_ signal: Int32)-> Swift.Void { exit(signal) }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:36:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public enum LogCategory : String, Codable {
| `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
26 |
27 | case crash
:
34 | case void // not present in `all` property since void is special type which is ignored by default
35 |
36 | public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
| |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
37 | }
38 |
/host/spi-builder-workspace/Sources/FuturaLog/Logger.swift:7:28: warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public static let sessionID: String = UUID().uuidString
6 |
7 | fileprivate static var recievers: Array<LogReceiver> = []
| |- warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'recievers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'recievers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | fileprivate static let logsQueue = DispatchQueue(label: "futura.log.mainQueue", qos: .utility)
9 | }
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 | return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 | }
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:16:35: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 | public let allowedCategories: [LogCategory] = LogCategory.all
15 |
16 | private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
17 |
18 | private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
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/FuturaLog/Server/LogServer.swift:16:48: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
14 | public let allowedCategories: [LogCategory] = LogCategory.all
15 |
16 | private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
17 |
18 | private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:16:98: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
14 | public let allowedCategories: [LogCategory] = LogCategory.all
15 |
16 | private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
| `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
17 |
18 | private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
[16/18] Compiling FuturaLog CrashCatcher.swift
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:32:51: error: cannot find type 'NSException' in scope
30 | }
31 |
32 | fileprivate func exceptionLogHandler(_ exception: NSException)-> Swift.Void {
| `- error: cannot find type 'NSException' in scope
33 | Logger.send(Log(.crash, message: "Exception: \(exception)\n\n\(Thread.callStackSymbols.joined(separator: "\n"))\n"))
34 | Logger.flush()
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:43:52: error: cannot find type 'NSException' in scope
41 | }
42 |
43 | fileprivate func exceptionVoidHandler(_ exception: NSException)-> Swift.Void { /* void */ }
| `- error: cannot find type 'NSException' in scope
44 |
45 | fileprivate func signalVoidHandler(_ signal: Int32)-> Swift.Void { exit(signal) }
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:8:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
6 | switch mode {
7 | case .logging:
8 | NSSetUncaughtExceptionHandler(exceptionLogHandler);
| `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
9 | signal(SIGABRT, signalLogHandler);
10 | signal(SIGILL, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:9:13: error: function is unused
7 | case .logging:
8 | NSSetUncaughtExceptionHandler(exceptionLogHandler);
9 | signal(SIGABRT, signalLogHandler);
| `- error: function is unused
10 | signal(SIGILL, signalLogHandler);
11 | signal(SIGSEGV, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:10:13: error: function is unused
8 | NSSetUncaughtExceptionHandler(exceptionLogHandler);
9 | signal(SIGABRT, signalLogHandler);
10 | signal(SIGILL, signalLogHandler);
| `- error: function is unused
11 | signal(SIGSEGV, signalLogHandler);
12 | signal(SIGFPE, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:11:13: error: function is unused
9 | signal(SIGABRT, signalLogHandler);
10 | signal(SIGILL, signalLogHandler);
11 | signal(SIGSEGV, signalLogHandler);
| `- error: function is unused
12 | signal(SIGFPE, signalLogHandler);
13 | signal(SIGBUS, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:12:13: error: function is unused
10 | signal(SIGILL, signalLogHandler);
11 | signal(SIGSEGV, signalLogHandler);
12 | signal(SIGFPE, signalLogHandler);
| `- error: function is unused
13 | signal(SIGBUS, signalLogHandler);
14 | signal(SIGPIPE, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:13:13: error: function is unused
11 | signal(SIGSEGV, signalLogHandler);
12 | signal(SIGFPE, signalLogHandler);
13 | signal(SIGBUS, signalLogHandler);
| `- error: function is unused
14 | signal(SIGPIPE, signalLogHandler);
15 | case .hiding:
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:14:13: error: function is unused
12 | signal(SIGFPE, signalLogHandler);
13 | signal(SIGBUS, signalLogHandler);
14 | signal(SIGPIPE, signalLogHandler);
| `- error: function is unused
15 | case .hiding:
16 | NSSetUncaughtExceptionHandler(exceptionVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:16:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
14 | signal(SIGPIPE, signalLogHandler);
15 | case .hiding:
16 | NSSetUncaughtExceptionHandler(exceptionVoidHandler);
| `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
17 | signal(SIGABRT, signalVoidHandler);
18 | signal(SIGILL, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:17:13: error: function is unused
15 | case .hiding:
16 | NSSetUncaughtExceptionHandler(exceptionVoidHandler);
17 | signal(SIGABRT, signalVoidHandler);
| `- error: function is unused
18 | signal(SIGILL, signalVoidHandler);
19 | signal(SIGSEGV, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:18:13: error: function is unused
16 | NSSetUncaughtExceptionHandler(exceptionVoidHandler);
17 | signal(SIGABRT, signalVoidHandler);
18 | signal(SIGILL, signalVoidHandler);
| `- error: function is unused
19 | signal(SIGSEGV, signalVoidHandler);
20 | signal(SIGFPE, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:19:13: error: function is unused
17 | signal(SIGABRT, signalVoidHandler);
18 | signal(SIGILL, signalVoidHandler);
19 | signal(SIGSEGV, signalVoidHandler);
| `- error: function is unused
20 | signal(SIGFPE, signalVoidHandler);
21 | signal(SIGBUS, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:20:13: error: function is unused
18 | signal(SIGILL, signalVoidHandler);
19 | signal(SIGSEGV, signalVoidHandler);
20 | signal(SIGFPE, signalVoidHandler);
| `- error: function is unused
21 | signal(SIGBUS, signalVoidHandler);
22 | signal(SIGPIPE, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:21:13: error: function is unused
19 | signal(SIGSEGV, signalVoidHandler);
20 | signal(SIGFPE, signalVoidHandler);
21 | signal(SIGBUS, signalVoidHandler);
| `- error: function is unused
22 | signal(SIGPIPE, signalVoidHandler);
23 | }
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:22:13: error: function is unused
20 | signal(SIGFPE, signalVoidHandler);
21 | signal(SIGBUS, signalVoidHandler);
22 | signal(SIGPIPE, signalVoidHandler);
| `- error: function is unused
23 | }
24 | }
[17/18] Compiling FuturaLog FlushableTextOutputStream.swift
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:32:51: error: cannot find type 'NSException' in scope
30 | }
31 |
32 | fileprivate func exceptionLogHandler(_ exception: NSException)-> Swift.Void {
| `- error: cannot find type 'NSException' in scope
33 | Logger.send(Log(.crash, message: "Exception: \(exception)\n\n\(Thread.callStackSymbols.joined(separator: "\n"))\n"))
34 | Logger.flush()
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:43:52: error: cannot find type 'NSException' in scope
41 | }
42 |
43 | fileprivate func exceptionVoidHandler(_ exception: NSException)-> Swift.Void { /* void */ }
| `- error: cannot find type 'NSException' in scope
44 |
45 | fileprivate func signalVoidHandler(_ signal: Int32)-> Swift.Void { exit(signal) }
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:8:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
6 | switch mode {
7 | case .logging:
8 | NSSetUncaughtExceptionHandler(exceptionLogHandler);
| `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
9 | signal(SIGABRT, signalLogHandler);
10 | signal(SIGILL, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:9:13: error: function is unused
7 | case .logging:
8 | NSSetUncaughtExceptionHandler(exceptionLogHandler);
9 | signal(SIGABRT, signalLogHandler);
| `- error: function is unused
10 | signal(SIGILL, signalLogHandler);
11 | signal(SIGSEGV, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:10:13: error: function is unused
8 | NSSetUncaughtExceptionHandler(exceptionLogHandler);
9 | signal(SIGABRT, signalLogHandler);
10 | signal(SIGILL, signalLogHandler);
| `- error: function is unused
11 | signal(SIGSEGV, signalLogHandler);
12 | signal(SIGFPE, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:11:13: error: function is unused
9 | signal(SIGABRT, signalLogHandler);
10 | signal(SIGILL, signalLogHandler);
11 | signal(SIGSEGV, signalLogHandler);
| `- error: function is unused
12 | signal(SIGFPE, signalLogHandler);
13 | signal(SIGBUS, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:12:13: error: function is unused
10 | signal(SIGILL, signalLogHandler);
11 | signal(SIGSEGV, signalLogHandler);
12 | signal(SIGFPE, signalLogHandler);
| `- error: function is unused
13 | signal(SIGBUS, signalLogHandler);
14 | signal(SIGPIPE, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:13:13: error: function is unused
11 | signal(SIGSEGV, signalLogHandler);
12 | signal(SIGFPE, signalLogHandler);
13 | signal(SIGBUS, signalLogHandler);
| `- error: function is unused
14 | signal(SIGPIPE, signalLogHandler);
15 | case .hiding:
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:14:13: error: function is unused
12 | signal(SIGFPE, signalLogHandler);
13 | signal(SIGBUS, signalLogHandler);
14 | signal(SIGPIPE, signalLogHandler);
| `- error: function is unused
15 | case .hiding:
16 | NSSetUncaughtExceptionHandler(exceptionVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:16:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
14 | signal(SIGPIPE, signalLogHandler);
15 | case .hiding:
16 | NSSetUncaughtExceptionHandler(exceptionVoidHandler);
| `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
17 | signal(SIGABRT, signalVoidHandler);
18 | signal(SIGILL, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:17:13: error: function is unused
15 | case .hiding:
16 | NSSetUncaughtExceptionHandler(exceptionVoidHandler);
17 | signal(SIGABRT, signalVoidHandler);
| `- error: function is unused
18 | signal(SIGILL, signalVoidHandler);
19 | signal(SIGSEGV, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:18:13: error: function is unused
16 | NSSetUncaughtExceptionHandler(exceptionVoidHandler);
17 | signal(SIGABRT, signalVoidHandler);
18 | signal(SIGILL, signalVoidHandler);
| `- error: function is unused
19 | signal(SIGSEGV, signalVoidHandler);
20 | signal(SIGFPE, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:19:13: error: function is unused
17 | signal(SIGABRT, signalVoidHandler);
18 | signal(SIGILL, signalVoidHandler);
19 | signal(SIGSEGV, signalVoidHandler);
| `- error: function is unused
20 | signal(SIGFPE, signalVoidHandler);
21 | signal(SIGBUS, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:20:13: error: function is unused
18 | signal(SIGILL, signalVoidHandler);
19 | signal(SIGSEGV, signalVoidHandler);
20 | signal(SIGFPE, signalVoidHandler);
| `- error: function is unused
21 | signal(SIGBUS, signalVoidHandler);
22 | signal(SIGPIPE, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:21:13: error: function is unused
19 | signal(SIGSEGV, signalVoidHandler);
20 | signal(SIGFPE, signalVoidHandler);
21 | signal(SIGBUS, signalVoidHandler);
| `- error: function is unused
22 | signal(SIGPIPE, signalVoidHandler);
23 | }
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:22:13: error: function is unused
20 | signal(SIGFPE, signalVoidHandler);
21 | signal(SIGBUS, signalVoidHandler);
22 | signal(SIGPIPE, signalVoidHandler);
| `- error: function is unused
23 | }
24 | }
[18/18] Compiling FuturaLog LogServer.swift
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:16:35: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 | public let allowedCategories: [LogCategory] = LogCategory.all
15 |
16 | private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
17 |
18 | private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
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/FuturaLog/Server/LogServer.swift:16:48: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
14 | public let allowedCategories: [LogCategory] = LogCategory.all
15 |
16 | private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
17 |
18 | private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:16:98: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
14 | public let allowedCategories: [LogCategory] = LogCategory.all
15 |
16 | private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
| `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
17 |
18 | private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:40:19: warning: capture of 'self' with non-sendable type 'LogServer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public final class LogServer : LogReceiver {
| `- note: class 'LogServer' does not conform to the 'Sendable' protocol
4 |
5 | public static let jsonEncoder: JSONEncoder = {
:
38 | public func recieve(_ log: Log) {
39 | synchronizationQueue.async {
40 | guard self.allowedCategories.contains(log.category) else {
| `- warning: capture of 'self' with non-sendable type 'LogServer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
41 | return
42 | }
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:40:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | public func recieve(_ log: Log) {
39 | synchronizationQueue.async {
40 | guard self.allowedCategories.contains(log.category) else {
| `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
41 | return
42 | }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Log : Codable {
| `- note: consider making struct 'Log' conform to the 'Sendable' protocol
4 |
5 | public let category: LogCategory
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:59:23: error: cannot find 'URLRequest' in scope
57 |
58 | private func uploadLogs() {
59 | var request = URLRequest(url: serverURL.appendingPathComponent("uploadLogs"))
| `- error: cannot find 'URLRequest' in scope
60 | request.httpBody = try? LogServer.jsonEncoder.encode(LogPackage(applicationID: applicationID, environment: environment, sessionID: Logger.sessionID, logs: logsBuffer))
61 | request.httpMethod = "POST"
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:63:26: error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
61 | request.httpMethod = "POST"
62 | request.allHTTPHeaderFields = ["Authorization":"Bearer \(accessToken)"]
63 | logServerSession.dataTask(with: request).resume()
| `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
64 | logsBuffer = []
65 | // TODO: think about logging failure and retry
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:9f3c606dcd2a4f06d17ba472aa533c43685ba7ba19a5c9bc23518a066eb7f86a
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/16] Compiling FuturaLog LogReceiver.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFilePrinter.swift:44:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
42 |
43 | if !FileManager.default.fileExists(atPath: filePath) {
44 | FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
45 | } else { /* nothing */ }
46 |
[3/16] Compiling FuturaLog LogFilePrinter.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFilePrinter.swift:44:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
42 |
43 | if !FileManager.default.fileExists(atPath: filePath) {
44 | FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
45 | } else { /* nothing */ }
46 |
[4/17] Compiling FuturaLog CrashCatcher.swift
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:32:51: error: cannot find type 'NSException' in scope
30 | }
31 |
32 | fileprivate func exceptionLogHandler(_ exception: NSException)-> Swift.Void {
| `- error: cannot find type 'NSException' in scope
33 | Logger.send(Log(.crash, message: "Exception: \(exception)\n\n\(Thread.callStackSymbols.joined(separator: "\n"))\n"))
34 | Logger.flush()
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:43:52: error: cannot find type 'NSException' in scope
41 | }
42 |
43 | fileprivate func exceptionVoidHandler(_ exception: NSException)-> Swift.Void { /* void */ }
| `- error: cannot find type 'NSException' in scope
44 |
45 | fileprivate func signalVoidHandler(_ signal: Int32)-> Swift.Void { exit(signal) }
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:8:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
6 | switch mode {
7 | case .logging:
8 | NSSetUncaughtExceptionHandler(exceptionLogHandler);
| `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
9 | signal(SIGABRT, signalLogHandler);
10 | signal(SIGILL, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:16:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
14 | signal(SIGPIPE, signalLogHandler);
15 | case .hiding:
16 | NSSetUncaughtExceptionHandler(exceptionVoidHandler);
| `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
17 | signal(SIGABRT, signalVoidHandler);
18 | signal(SIGILL, signalVoidHandler);
[5/17] Compiling FuturaLog FlushableTextOutputStream.swift
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:32:51: error: cannot find type 'NSException' in scope
30 | }
31 |
32 | fileprivate func exceptionLogHandler(_ exception: NSException)-> Swift.Void {
| `- error: cannot find type 'NSException' in scope
33 | Logger.send(Log(.crash, message: "Exception: \(exception)\n\n\(Thread.callStackSymbols.joined(separator: "\n"))\n"))
34 | Logger.flush()
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:43:52: error: cannot find type 'NSException' in scope
41 | }
42 |
43 | fileprivate func exceptionVoidHandler(_ exception: NSException)-> Swift.Void { /* void */ }
| `- error: cannot find type 'NSException' in scope
44 |
45 | fileprivate func signalVoidHandler(_ signal: Int32)-> Swift.Void { exit(signal) }
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:8:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
6 | switch mode {
7 | case .logging:
8 | NSSetUncaughtExceptionHandler(exceptionLogHandler);
| `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
9 | signal(SIGABRT, signalLogHandler);
10 | signal(SIGILL, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:16:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
14 | signal(SIGPIPE, signalLogHandler);
15 | case .hiding:
16 | NSSetUncaughtExceptionHandler(exceptionVoidHandler);
| `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
17 | signal(SIGABRT, signalVoidHandler);
18 | signal(SIGILL, signalVoidHandler);
error: emit-module command failed with exit code 1 (use -v to see invocation)
[6/17] Emitting module FuturaLog
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:32:51: error: cannot find type 'NSException' in scope
30 | }
31 |
32 | fileprivate func exceptionLogHandler(_ exception: NSException)-> Swift.Void {
| `- error: cannot find type 'NSException' in scope
33 | Logger.send(Log(.crash, message: "Exception: \(exception)\n\n\(Thread.callStackSymbols.joined(separator: "\n"))\n"))
34 | Logger.flush()
/host/spi-builder-workspace/Sources/FuturaLog/CrashHandling/CrashCatcher.swift:43:52: error: cannot find type 'NSException' in scope
41 | }
42 |
43 | fileprivate func exceptionVoidHandler(_ exception: NSException)-> Swift.Void { /* void */ }
| `- error: cannot find type 'NSException' in scope
44 |
45 | fileprivate func signalVoidHandler(_ signal: Int32)-> Swift.Void { exit(signal) }
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 | return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 | }
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:16:35: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 | public let allowedCategories: [LogCategory] = LogCategory.all
15 |
16 | private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
17 |
18 | private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
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/FuturaLog/Server/LogServer.swift:16:48: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
14 | public let allowedCategories: [LogCategory] = LogCategory.all
15 |
16 | private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
17 |
18 | private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:16:98: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
14 | public let allowedCategories: [LogCategory] = LogCategory.all
15 |
16 | private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
| `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
17 |
18 | private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
[7/17] Compiling FuturaLog Log.swift
[8/17] Compiling FuturaLog LogFormatter.swift
[9/17] Compiling FuturaLog Logger.swift
[10/17] Compiling FuturaLog FlatLog.swift
[11/17] Compiling FuturaLog LogPrinter.swift
[12/17] Compiling FuturaLog LogStorage.swift
[13/17] Compiling FuturaLog LogServer.swift
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:16:35: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 | public let allowedCategories: [LogCategory] = LogCategory.all
15 |
16 | private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
17 |
18 | private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
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/FuturaLog/Server/LogServer.swift:16:48: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
14 | public let allowedCategories: [LogCategory] = LogCategory.all
15 |
16 | private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
17 |
18 | private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:16:98: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
14 | public let allowedCategories: [LogCategory] = LogCategory.all
15 |
16 | private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
| `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
17 |
18 | private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:59:23: error: cannot find 'URLRequest' in scope
57 |
58 | private func uploadLogs() {
59 | var request = URLRequest(url: serverURL.appendingPathComponent("uploadLogs"))
| `- error: cannot find 'URLRequest' in scope
60 | request.httpBody = try? LogServer.jsonEncoder.encode(LogPackage(applicationID: applicationID, environment: environment, sessionID: Logger.sessionID, logs: logsBuffer))
61 | request.httpMethod = "POST"
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:63:26: error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
61 | request.httpMethod = "POST"
62 | request.allHTTPHeaderFields = ["Authorization":"Bearer \(accessToken)"]
63 | logServerSession.dataTask(with: request).resume()
| `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
64 | logsBuffer = []
65 | // TODO: think about logging failure and retry
[14/17] Compiling FuturaLog LogEnvironment.swift
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 | return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 | }
[15/17] Compiling FuturaLog LogPackage.swift
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 | return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 | }
[16/17] Compiling FuturaLog LogFileStorage.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFileStorage.swift:53:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
51 |
52 | if !FileManager.default.fileExists(atPath: filePath) {
53 | FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
54 | } else { /* nothing */ }
55 |
[17/17] Compiling FuturaLog LogMemoryStorage.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFileStorage.swift:53:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
51 |
52 | if !FileManager.default.fileExists(atPath: filePath) {
53 | FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
54 | } else { /* nothing */ }
55 |
BUILD FAILURE 6.1 android