Build Information
Failed to build GoogleCloudLogging, reference 1.1.2 (4c0d40
), with Swift 6.1 for macOS (SPM) on 27 Apr 2025 01:51:17 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/DnV1eX/GoogleCloudLogging.git
Reference: 1.1.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/DnV1eX/GoogleCloudLogging
* tag 1.1.2 -> FETCH_HEAD
HEAD is now at 4c0d407 Precise available OS version conditions in FileHandle throwing legacy functions.
Cloned https://github.com/DnV1eX/GoogleCloudLogging.git
Revision (git rev-parse @):
4c0d4076a7532c2177a6b3d0e964dfc36436695d
SUCCESS checkout https://github.com/DnV1eX/GoogleCloudLogging.git at 1.1.2
Fetching https://github.com/apple/swift-log.git from cache
Fetched https://github.com/apple/swift-log.git from cache (0.71s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.3 (1.23s)
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.3
========================================
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.3",
"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.59s)
Fetching https://github.com/apple/swift-log.git from cache
Fetched https://github.com/apple/swift-log.git from cache (0.53s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.3 (0.59s)
Creating working copy for https://github.com/DnV1eX/GoogleCloudLogging.git
Working copy of https://github.com/DnV1eX/GoogleCloudLogging.git resolved at 1.1.2 (4c0d407)
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.3
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.1
Building package at path: $PWD
https://github.com/DnV1eX/GoogleCloudLogging.git
https://github.com/DnV1eX/GoogleCloudLogging.git
{
"dependencies" : [
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
}
],
"manifest_display_name" : "GoogleCloudLogging",
"name" : "GoogleCloudLogging",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "11.0"
},
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "tvos",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "4.0"
}
],
"products" : [
{
"name" : "GoogleCloudLogging",
"targets" : [
"GoogleCloudLogging"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "GoogleCloudLoggingTests",
"module_type" : "SwiftTarget",
"name" : "GoogleCloudLoggingTests",
"path" : "Tests/GoogleCloudLoggingTests",
"sources" : [
"GoogleCloudLoggingTests.swift"
],
"target_dependencies" : [
"GoogleCloudLogging"
],
"type" : "test"
},
{
"c99name" : "GoogleCloudLogging",
"module_type" : "SwiftTarget",
"name" : "GoogleCloudLogging",
"path" : "Sources/GoogleCloudLogging",
"product_dependencies" : [
"Logging"
],
"product_memberships" : [
"GoogleCloudLogging"
],
"sources" : [
"GoogleCloudLogHandler.swift",
"GoogleCloudLogging.swift"
],
"type" : "library"
}
],
"tools_version" : "5.2"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.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-2F0A5646E1D333AE.txt
[4/8] Compiling Logging LogHandler.swift
[5/8] Compiling Logging MetadataProvider.swift
[6/8] Compiling Logging Locks.swift
[7/8] Emitting module Logging
[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
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
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
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
| `- 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
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
| `- 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
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
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
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
| `- 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
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
| `- 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
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
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
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
| `- 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 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: add '@MainActor' to make static property 'globalMetadata' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'forcedLogLevel' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'defaultLogLevel' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'signalingLogLevel' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'maxLogEntrySize' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'maxLogSize' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'retentionPeriod' part of global actor 'MainActor'
| `- 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: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: add '@MainActor' to make static property 'uploadInterval' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'includeSourceLocation' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'logFile' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'logging' part of global actor 'MainActor'
| `- 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,
[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: add '@MainActor' to make static property 'globalMetadata' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'forcedLogLevel' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'defaultLogLevel' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'signalingLogLevel' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'maxLogEntrySize' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'maxLogSize' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'retentionPeriod' part of global actor 'MainActor'
| `- 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: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: add '@MainActor' to make static property 'uploadInterval' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'includeSourceLocation' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'logFile' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'logging' part of global actor 'MainActor'
| `- 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
391 | case .success:
392 | logger.info("Logs have been uploaded")
393 | deleteOldEntries()
| |- warning: capture of 'deleteOldEntries()' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- 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
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
| `- 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'
353 | }
354 |
355 | func deleteOldEntries() {
| `- warning: concurrently-executed local function 'deleteOldEntries()' must be marked as '@Sendable'
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'
362 | }
363 |
364 | func updateOldEntries() {
| `- warning: concurrently-executed local function 'updateOldEntries()' must be marked as '@Sendable'
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
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
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
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
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()
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/6] Compiling Logging MetadataProvider.swift
[3/6] Compiling Logging LogHandler.swift
[4/6] Compiling Logging Logging.swift
[5/6] Emitting module Logging
[6/6] Compiling Logging Locks.swift
[7/9] Compiling GoogleCloudLogging GoogleCloudLogging.swift
[8/9] Emitting module GoogleCloudLogging
/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,
[9/9] Compiling GoogleCloudLogging GoogleCloudLogHandler.swift
/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: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.1 macosSpm