This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build GoogleCloudLogging with Swift 6.0 for macOS (SPM).

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/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
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/DnV1eX/GoogleCloudLogging.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-6F35C1178C84523A.txt
[4/8] Compiling Logging MetadataProvider.swift
[5/8] Compiling Logging Locks.swift
[6/8] Emitting module Logging
[7/8] Compiling Logging LogHandler.swift
[8/8] Compiling Logging Logging.swift
[9/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) }
[10/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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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")
[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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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: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()
Fetching https://github.com/apple/swift-log.git
[1/3361] Fetching swift-log
Fetched https://github.com/apple/swift-log.git from cache (1.10s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.5.4 (0.71s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.5.4
BUILD FAILURE 6.0 macosSpm
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.