Build Information
Failed to build GoogleCloudLogging, reference master (8787f7
), with Swift 6.0 for macOS (SPM) on 28 Nov 2024 21:07:23 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -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
Build Log
========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/DnV1eX/GoogleCloudLogging.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/DnV1eX/GoogleCloudLogging
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 8787f77 Update README.md
Cloned https://github.com/DnV1eX/GoogleCloudLogging.git
Revision (git rev-parse @):
8787f77000cdd89c080cb6ac0b71552805ce86f4
SUCCESS checkout https://github.com/DnV1eX/GoogleCloudLogging.git at master
Fetching https://github.com/apple/swift-log.git
[1/3709] Fetching swift-log
Fetched https://github.com/apple/swift-log.git from cache (1.40s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.2 (0.42s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.2
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "googlecloudlogging",
"name": "GoogleCloudLogging",
"url": "https://github.com/DnV1eX/GoogleCloudLogging.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/GoogleCloudLogging",
"dependencies": [
{
"identity": "swift-log",
"name": "swift-log",
"url": "https://github.com/apple/swift-log.git",
"version": "1.6.2",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-log",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/DnV1eX/GoogleCloudLogging.git
[1/92] Fetching googlecloudlogging
Fetched https://github.com/DnV1eX/GoogleCloudLogging.git from cache (0.69s)
Fetching https://github.com/apple/swift-log.git from cache
Fetched https://github.com/apple/swift-log.git from cache (0.55s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.2 (0.02s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.2
Creating working copy for https://github.com/DnV1eX/GoogleCloudLogging.git
Working copy of https://github.com/DnV1eX/GoogleCloudLogging.git resolved at master (8787f77)
warning: '.resolve-product-dependencies': dependency 'googlecloudlogging' is not used by any target
Found 1 product dependencies
- swift-log
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/DnV1eX/GoogleCloudLogging.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -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
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/8] Compiling Logging Locks.swift
[5/8] Compiling Logging MetadataProvider.swift
[6/8] Compiling Logging LogHandler.swift
[7/8] Emitting module Logging
[8/8] Compiling Logging Logging.swift
[9/11] Emitting module GoogleCloudLogging
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:61:31: warning: static property 'globalMetadata' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
59 | /// - Warning: Do not abuse `globalMetadata` as it is added to each log entry of the app.
60 | ///
61 | @Atomic public static var globalMetadata: Logger.Metadata = [:]
| |- warning: static property 'globalMetadata' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'globalMetadata' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'globalMetadata' 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
62 |
63 | /// Overridden log level of each `Logger`. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:67:31: warning: static property 'forcedLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
65 | /// For example, you can set `.trace` in a particular app instance to debug some special error case or track its behavior.
66 | ///
67 | @Atomic public static var forcedLogLevel: Logger.Level?
| |- warning: static property 'forcedLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'forcedLogLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'forcedLogLevel' 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
68 |
69 | /// Initial log level of `Logger`. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:73:31: warning: static property 'defaultLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
71 | /// **Default** is `.info`.
72 | ///
73 | @Atomic public static var defaultLogLevel: Logger.Level = .info
| |- warning: static property 'defaultLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultLogLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultLogLevel' 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
74 |
75 | /// The log level upon receipt of which an attempt is made to immediately `upload` local logs to the server. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:79:31: warning: static property 'signalingLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
77 | /// **Default** is `.critical`.
78 | ///
79 | @Atomic public static var signalingLogLevel: Logger.Level? = .critical
| |- warning: static property 'signalingLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'signalingLogLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'signalingLogLevel' 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
80 |
81 | /// Log entry upload size limit in bytes. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:87:31: warning: static property 'maxLogEntrySize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
85 | /// **Default** is equivalent to `256 KB`, which is the approximate Google Cloud limit.
86 | ///
87 | @Atomic public static var maxLogEntrySize: UInt? = 256_000
| |- warning: static property 'maxLogEntrySize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'maxLogEntrySize' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'maxLogEntrySize' 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
88 |
89 | /// Log upload size limit in bytes. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:95:31: warning: static property 'maxLogSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
93 | /// **Default** is equivalent to `10 MB`, which is the approximate Google Cloud limit.
94 | ///
95 | @Atomic public static var maxLogSize: UInt? = 10_000_000
| |- warning: static property 'maxLogSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'maxLogSize' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'maxLogSize' 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
96 |
97 | /// Logs retention period in seconds. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:103:31: warning: static property 'retentionPeriod' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
101 | /// **Default** is equivalent to `30 days`, which is the default Google Cloud logs retention period.
102 | ///
103 | @Atomic public static var retentionPeriod: TimeInterval? = 3600 * 24 * 30
| |- warning: static property 'retentionPeriod' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'retentionPeriod' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'retentionPeriod' 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
104 |
105 | /// Log upload interval in seconds. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:148:16: warning: static property 'timer' is not concurrency-safe because non-'Sendable' type 'any DispatchSourceTimer' may have shared mutable state; this is an error in the Swift 6 language mode
146 | static let fileHandleQueue = DispatchQueue(label: "GoogleCloudLogHandler.FileHandle")
147 |
148 | static let timer: DispatchSourceTimer = {
| `- warning: static property 'timer' is not concurrency-safe because non-'Sendable' type 'any DispatchSourceTimer' may have shared mutable state; this is an error in the Swift 6 language mode
149 | let timer = DispatchSource.makeTimerSource()
150 | timer.setEventHandler(handler: uploadOnSchedule)
Dispatch.DispatchSourceTimer:1:17: note: protocol 'DispatchSourceTimer' does not conform to the 'Sendable' protocol
1 | public protocol DispatchSourceTimer : DispatchSourceProtocol {
| `- note: protocol 'DispatchSourceTimer' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:21:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
19 | //
20 |
21 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
22 | import Logging
23 |
:
146 | static let fileHandleQueue = DispatchQueue(label: "GoogleCloudLogHandler.FileHandle")
147 |
148 | static let timer: DispatchSourceTimer = {
| |- note: annotate 'timer' 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
149 | let timer = DispatchSource.makeTimerSource()
150 | timer.setEventHandler(handler: uploadOnSchedule)
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:111:31: warning: static property 'uploadInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
109 | /// **Default** is equivalent to `1 hour`.
110 | ///
111 | @Atomic public static var uploadInterval: TimeInterval? = 3600 {
| |- warning: static property 'uploadInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'uploadInterval' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'uploadInterval' 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
112 | didSet {
113 | if logging != nil {
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:127:31: warning: static property 'includeSourceLocation' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
125 | /// **Default** is `true`.
126 | ///
127 | @Atomic public static var includeSourceLocation = true
| |- warning: static property 'includeSourceLocation' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'includeSourceLocation' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'includeSourceLocation' 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
128 |
129 | /// Internal logger for GoogleCloudLogHandler. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:133:31: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
131 | /// You can choose an appropriate `logLevel`.
132 | ///
133 | @Atomic public static var logger = Logger(label: "GoogleCloudLogHandler")
| |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logger' 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
134 |
135 | /// URL to the local logs storage. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:142:45: warning: static property 'logFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
140 | /// **Default** is `/tmp/GoogleCloudLogEntries.jsonl`.
141 | ///
142 | @Atomic public internal(set) static var logFile = FileManager.default.temporaryDirectory.appendingPathComponent("GoogleCloudLogEntries", isDirectory: false).appendingPathExtension("jsonl")
| |- warning: static property 'logFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logFile' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logFile' 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
143 |
144 | @Atomic static var logging: GoogleCloudLogging?
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:144:24: warning: static property 'logging' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
142 | @Atomic public internal(set) static var logFile = FileManager.default.temporaryDirectory.appendingPathComponent("GoogleCloudLogEntries", isDirectory: false).appendingPathExtension("jsonl")
143 |
144 | @Atomic static var logging: GoogleCloudLogging?
| |- warning: static property 'logging' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logging' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logging' 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
145 |
146 | static let fileHandleQueue = DispatchQueue(label: "GoogleCloudLogHandler.FileHandle")
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:25:15: warning: deprecated default implementation is used to satisfy instance method 'log(level:message:metadata:source:file:function:line:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation
23 |
24 | /// Customizable SwiftLog logging backend for Google Cloud Logging via REST API v2 with offline functionality.
25 | public struct GoogleCloudLogHandler: LogHandler {
| `- warning: deprecated default implementation is used to satisfy instance method 'log(level:message:metadata:source:file:function:line:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation
26 |
27 | /// Predefined metadata key strings.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/LogHandler.swift:209:17: note: 'log(level:message:metadata:source:file:function:line:)' declared here
133 | /// - function: The function the log line was emitted from.
134 | /// - line: The line the log message was emitted from.
135 | func log(
| `- note: requirement 'log(level:message:metadata:source:file:function:line:)' declared here
136 | level: Logger.Level,
137 | message: Logger.Message,
:
207 | extension LogHandler {
208 | @available(*, deprecated, message: "You should implement this method instead of using the default implementation")
209 | public func log(
| `- note: 'log(level:message:metadata:source:file:function:line:)' declared here
210 | level: Logger.Level,
211 | message: Logger.Message,
[10/11] Compiling GoogleCloudLogging GoogleCloudLogging.swift
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogging.swift:236:41: warning: capture of 'self' with non-sendable type 'GoogleCloudLogging' in a `@Sendable` closure; this is an error in the Swift 6 language mode
22 |
23 |
24 | class GoogleCloudLogging {
| `- note: class 'GoogleCloudLogging' does not conform to the 'Sendable' protocol
25 |
26 | enum InitError: Error {
:
234 |
235 | completionHandlerQueue.async {
236 | guard let url = URL(string: self.serviceAccountCredentials.tokenURI) else {
| `- warning: capture of 'self' with non-sendable type 'GoogleCloudLogging' in a `@Sendable` closure; this is an error in the Swift 6 language mode
237 | completionHandler(.failure(TokenRequestError.invalidURL(self.serviceAccountCredentials.tokenURI)))
238 | return
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogging.swift:237:17: warning: capture of 'completionHandler' with non-sendable type '(Result<GoogleCloudLogging.Token, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
235 | completionHandlerQueue.async {
236 | guard let url = URL(string: self.serviceAccountCredentials.tokenURI) else {
237 | completionHandler(.failure(TokenRequestError.invalidURL(self.serviceAccountCredentials.tokenURI)))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<GoogleCloudLogging.Token, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
238 | return
239 | }
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogging.swift:252:17: warning: capture of 'completionHandler' with non-sendable type '(Result<GoogleCloudLogging.Token, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
250 |
251 | self.session.dataTask(with: request) { data, response, error in
252 | completionHandler(Result {
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<GoogleCloudLogging.Token, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 | if let error = error { throw error }
254 | guard let data = data else { throw TokenRequestError.noDataReceived(response) }
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogging.swift:268:28: warning: capture of 'self' with non-sendable type 'GoogleCloudLogging' in a `@Sendable` closure; this is an error in the Swift 6 language mode
22 |
23 |
24 | class GoogleCloudLogging {
| `- note: class 'GoogleCloudLogging' does not conform to the 'Sendable' protocol
25 |
26 | enum InitError: Error {
:
266 |
267 | accessTokenQueue.async {
268 | if let token = self.accessToken, !token.isExpired {
| `- warning: capture of 'self' with non-sendable type 'GoogleCloudLogging' in a `@Sendable` closure; this is an error in the Swift 6 language mode
269 | self.write(entries: entries, token: token, completionHandler: completionHandler)
270 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogging.swift:269:79: warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
267 | accessTokenQueue.async {
268 | if let token = self.accessToken, !token.isExpired {
269 | self.write(entries: entries, token: token, completionHandler: completionHandler)
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
270 | } else {
271 | let tokenReference = Referenced<Token>()
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogging.swift:278:25: warning: capture of 'self' with non-sendable type 'GoogleCloudLogging' in an isolated closure; this is an error in the Swift 6 language mode
22 |
23 |
24 | class GoogleCloudLogging {
| `- note: class 'GoogleCloudLogging' does not conform to the 'Sendable' protocol
25 |
26 | enum InitError: Error {
:
276 | tokenReference.wrappedValue = token
277 | tokenRequestSemaphore.signal()
278 | self.write(entries: entries, token: token, completionHandler: completionHandler)
| `- warning: capture of 'self' with non-sendable type 'GoogleCloudLogging' in an isolated closure; this is an error in the Swift 6 language mode
279 | case let .failure(error):
280 | tokenRequestSemaphore.signal()
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogging.swift:278:87: warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
276 | tokenReference.wrappedValue = token
277 | tokenRequestSemaphore.signal()
278 | self.write(entries: entries, token: token, completionHandler: completionHandler)
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
279 | case let .failure(error):
280 | tokenRequestSemaphore.signal()
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogging.swift:297:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
295 | completionHandlerQueue.async {
296 | guard !entries.isEmpty else {
297 | completionHandler(.failure(EntriesWriteError.noEntriesToSend))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
298 | return
299 | }
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogging.swift:314:57: warning: capture of 'self' with non-sendable type 'GoogleCloudLogging' in a `@Sendable` closure; this is an error in the Swift 6 language mode
22 |
23 |
24 | class GoogleCloudLogging {
| `- note: class 'GoogleCloudLogging' does not conform to the 'Sendable' protocol
25 |
26 | enum InitError: Error {
:
312 | let entries: [Log.Entry] = entries.map {
313 | var entry = $0
314 | entry.logName = Log.name(projectId: self.serviceAccountCredentials.projectId, logId: $0.logName)
| `- warning: capture of 'self' with non-sendable type 'GoogleCloudLogging' in a `@Sendable` closure; this is an error in the Swift 6 language mode
315 | return entry
316 | }
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogging.swift:314:57: warning: capture of 'self' with non-sendable type 'GoogleCloudLogging' in an isolated closure; this is an error in the Swift 6 language mode
22 |
23 |
24 | class GoogleCloudLogging {
| `- note: class 'GoogleCloudLogging' does not conform to the 'Sendable' protocol
25 |
26 | enum InitError: Error {
:
312 | let entries: [Log.Entry] = entries.map {
313 | var entry = $0
314 | entry.logName = Log.name(projectId: self.serviceAccountCredentials.projectId, logId: $0.logName)
| `- warning: capture of 'self' with non-sendable type 'GoogleCloudLogging' in an isolated closure; this is an error in the Swift 6 language mode
315 | return entry
316 | }
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogging.swift:324:17: warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
322 |
323 | self.session.dataTask(with: request) { data, response, error in
324 | completionHandler(Result {
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<Void, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
325 | if let error = error { throw error }
326 | guard let data = data else { throw EntriesWriteError.noDataReceived(response) }
[11/11] Compiling GoogleCloudLogging GoogleCloudLogHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:61:31: warning: static property 'globalMetadata' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
59 | /// - Warning: Do not abuse `globalMetadata` as it is added to each log entry of the app.
60 | ///
61 | @Atomic public static var globalMetadata: Logger.Metadata = [:]
| |- warning: static property 'globalMetadata' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'globalMetadata' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'globalMetadata' 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
62 |
63 | /// Overridden log level of each `Logger`. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:67:31: warning: static property 'forcedLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
65 | /// For example, you can set `.trace` in a particular app instance to debug some special error case or track its behavior.
66 | ///
67 | @Atomic public static var forcedLogLevel: Logger.Level?
| |- warning: static property 'forcedLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'forcedLogLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'forcedLogLevel' 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
68 |
69 | /// Initial log level of `Logger`. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:73:31: warning: static property 'defaultLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
71 | /// **Default** is `.info`.
72 | ///
73 | @Atomic public static var defaultLogLevel: Logger.Level = .info
| |- warning: static property 'defaultLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultLogLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultLogLevel' 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
74 |
75 | /// The log level upon receipt of which an attempt is made to immediately `upload` local logs to the server. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:79:31: warning: static property 'signalingLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
77 | /// **Default** is `.critical`.
78 | ///
79 | @Atomic public static var signalingLogLevel: Logger.Level? = .critical
| |- warning: static property 'signalingLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'signalingLogLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'signalingLogLevel' 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
80 |
81 | /// Log entry upload size limit in bytes. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:87:31: warning: static property 'maxLogEntrySize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
85 | /// **Default** is equivalent to `256 KB`, which is the approximate Google Cloud limit.
86 | ///
87 | @Atomic public static var maxLogEntrySize: UInt? = 256_000
| |- warning: static property 'maxLogEntrySize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'maxLogEntrySize' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'maxLogEntrySize' 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
88 |
89 | /// Log upload size limit in bytes. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:95:31: warning: static property 'maxLogSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
93 | /// **Default** is equivalent to `10 MB`, which is the approximate Google Cloud limit.
94 | ///
95 | @Atomic public static var maxLogSize: UInt? = 10_000_000
| |- warning: static property 'maxLogSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'maxLogSize' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'maxLogSize' 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
96 |
97 | /// Logs retention period in seconds. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:103:31: warning: static property 'retentionPeriod' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
101 | /// **Default** is equivalent to `30 days`, which is the default Google Cloud logs retention period.
102 | ///
103 | @Atomic public static var retentionPeriod: TimeInterval? = 3600 * 24 * 30
| |- warning: static property 'retentionPeriod' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'retentionPeriod' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'retentionPeriod' 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
104 |
105 | /// Log upload interval in seconds. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:148:16: warning: static property 'timer' is not concurrency-safe because non-'Sendable' type 'any DispatchSourceTimer' may have shared mutable state; this is an error in the Swift 6 language mode
146 | static let fileHandleQueue = DispatchQueue(label: "GoogleCloudLogHandler.FileHandle")
147 |
148 | static let timer: DispatchSourceTimer = {
| `- warning: static property 'timer' is not concurrency-safe because non-'Sendable' type 'any DispatchSourceTimer' may have shared mutable state; this is an error in the Swift 6 language mode
149 | let timer = DispatchSource.makeTimerSource()
150 | timer.setEventHandler(handler: uploadOnSchedule)
Dispatch.DispatchSourceTimer:1:17: note: protocol 'DispatchSourceTimer' does not conform to the 'Sendable' protocol
1 | public protocol DispatchSourceTimer : DispatchSourceProtocol {
| `- note: protocol 'DispatchSourceTimer' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:21:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
19 | //
20 |
21 | import Foundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
22 | import Logging
23 |
:
146 | static let fileHandleQueue = DispatchQueue(label: "GoogleCloudLogHandler.FileHandle")
147 |
148 | static let timer: DispatchSourceTimer = {
| |- note: annotate 'timer' 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
149 | let timer = DispatchSource.makeTimerSource()
150 | timer.setEventHandler(handler: uploadOnSchedule)
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:111:31: warning: static property 'uploadInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
109 | /// **Default** is equivalent to `1 hour`.
110 | ///
111 | @Atomic public static var uploadInterval: TimeInterval? = 3600 {
| |- warning: static property 'uploadInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'uploadInterval' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'uploadInterval' 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
112 | didSet {
113 | if logging != nil {
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:127:31: warning: static property 'includeSourceLocation' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
125 | /// **Default** is `true`.
126 | ///
127 | @Atomic public static var includeSourceLocation = true
| |- warning: static property 'includeSourceLocation' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'includeSourceLocation' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'includeSourceLocation' 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
128 |
129 | /// Internal logger for GoogleCloudLogHandler. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:133:31: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
131 | /// You can choose an appropriate `logLevel`.
132 | ///
133 | @Atomic public static var logger = Logger(label: "GoogleCloudLogHandler")
| |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logger' 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
134 |
135 | /// URL to the local logs storage. *Atomic*.
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:142:45: warning: static property 'logFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
140 | /// **Default** is `/tmp/GoogleCloudLogEntries.jsonl`.
141 | ///
142 | @Atomic public internal(set) static var logFile = FileManager.default.temporaryDirectory.appendingPathComponent("GoogleCloudLogEntries", isDirectory: false).appendingPathExtension("jsonl")
| |- warning: static property 'logFile' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logFile' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logFile' 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
143 |
144 | @Atomic static var logging: GoogleCloudLogging?
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:144:24: warning: static property 'logging' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
142 | @Atomic public internal(set) static var logFile = FileManager.default.temporaryDirectory.appendingPathComponent("GoogleCloudLogEntries", isDirectory: false).appendingPathExtension("jsonl")
143 |
144 | @Atomic static var logging: GoogleCloudLogging?
| |- warning: static property 'logging' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logging' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'logging' 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
145 |
146 | static let fileHandleQueue = DispatchQueue(label: "GoogleCloudLogHandler.FileHandle")
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:25:15: warning: deprecated default implementation is used to satisfy instance method 'log(level:message:metadata:source:file:function:line:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation
23 |
24 | /// Customizable SwiftLog logging backend for Google Cloud Logging via REST API v2 with offline functionality.
25 | public struct GoogleCloudLogHandler: LogHandler {
| `- warning: deprecated default implementation is used to satisfy instance method 'log(level:message:metadata:source:file:function:line:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation
26 |
27 | /// Predefined metadata key strings.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/LogHandler.swift:209:17: note: 'log(level:message:metadata:source:file:function:line:)' declared here
133 | /// - function: The function the log line was emitted from.
134 | /// - line: The line the log message was emitted from.
135 | func log(
| `- note: requirement 'log(level:message:metadata:source:file:function:line:)' declared here
136 | level: Logger.Level,
137 | message: Logger.Message,
:
207 | extension LogHandler {
208 | @available(*, deprecated, message: "You should implement this method instead of using the default implementation")
209 | public func log(
| `- note: 'log(level:message:metadata:source:file:function:line:)' declared here
210 | level: Logger.Level,
211 | message: Logger.Message,
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:393:29: warning: capture of 'deleteOldEntries()' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
391 | case .success:
392 | logger.info("Logs have been uploaded")
393 | deleteOldEntries()
| |- warning: capture of 'deleteOldEntries()' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
394 | case .failure(let error):
395 | switch error {
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:405:29: warning: capture of 'updateOldEntries()' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
403 | logger.error("Unable to upload logs", metadata: [MetadataKey.error: "\(error)"])
404 | }
405 | updateOldEntries()
| |- warning: capture of 'updateOldEntries()' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
406 | }
407 | }
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:355:22: warning: concurrently-executed local function 'deleteOldEntries()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
353 | }
354 |
355 | func deleteOldEntries() {
| `- warning: concurrently-executed local function 'deleteOldEntries()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
356 | do {
357 | try (fileHandle.legacyReadToEnd() ?? Data()).write(to: logFile, options: .atomic)
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:364:22: warning: concurrently-executed local function 'updateOldEntries()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
362 | }
363 |
364 | func updateOldEntries() {
| `- warning: concurrently-executed local function 'updateOldEntries()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
365 | do {
366 | if lineCount != logEntries.count {
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:442:46: warning: capture of 'self' with non-sendable type 'Atomic<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
434 |
435 | @propertyWrapper
436 | public class Atomic<T> {
| `- note: generic class 'Atomic' does not conform to the 'Sendable' protocol
437 |
438 | private let queue = DispatchQueue(label: "GoogleCloudLogHandler.AtomicProperty", attributes: .concurrent)
:
440 | public var wrappedValue: T {
441 | get { queue.sync { value } }
442 | set { queue.async(flags: .barrier) { self.value = newValue } }
| `- warning: capture of 'self' with non-sendable type 'Atomic<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
443 | }
444 | public init(wrappedValue: T) {
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:442:59: warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
434 |
435 | @propertyWrapper
436 | public class Atomic<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
437 |
438 | private let queue = DispatchQueue(label: "GoogleCloudLogHandler.AtomicProperty", attributes: .concurrent)
:
440 | public var wrappedValue: T {
441 | get { queue.sync { value } }
442 | set { queue.async(flags: .barrier) { self.value = newValue } }
| `- warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
443 | }
444 | public init(wrappedValue: T) {
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:463:24: error: 'seekToEnd()' is only available in macOS 10.15.4 or newer
461 | func legacySeekToEnd() throws -> UInt64 {
462 | if #available(OSX 10.15, iOS 13.4, watchOS 6.2, tvOS 13.4, *) {
463 | return try seekToEnd()
| `- error: 'seekToEnd()' is only available in macOS 10.15.4 or newer
464 | } else {
465 | return seekToEndOfFile()
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:471:17: error: 'write(contentsOf:)' is only available in macOS 10.15.4 or newer
469 | func legacyWrite<T>(contentsOf data: T) throws where T : DataProtocol {
470 | if #available(OSX 10.15, iOS 13.4, watchOS 6.2, tvOS 13.4, *) {
471 | try write(contentsOf: data)
| `- error: 'write(contentsOf:)' is only available in macOS 10.15.4 or newer
472 | } else {
473 | write(Data(data))
/Users/admin/builder/spi-builder-workspace/Sources/GoogleCloudLogging/GoogleCloudLogHandler.swift:479:24: error: 'readToEnd()' is only available in macOS 10.15.4 or newer
477 | func legacyReadToEnd() throws -> Data? {
478 | if #available(OSX 10.15, iOS 13.4, watchOS 6.2, tvOS 13.4, *) {
479 | return try readToEnd()
| `- error: 'readToEnd()' is only available in macOS 10.15.4 or newer
480 | } else {
481 | return readDataToEndOfFile()
BUILD FAILURE 6.0 macosSpm