Build Information
Successful build of TelemetryClient with Swift 6.0 (beta) for macOS (SPM) (9ec0f0) on 29 Jun 2024 10:04:30 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Beta.2.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.44.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/TelemetryDeck/SwiftSDK.git
Reference: 2.2.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/TelemetryDeck/SwiftSDK
* tag 2.2.1 -> FETCH_HEAD
HEAD is now at 9ec0f0c Bump version num
Cloned https://github.com/TelemetryDeck/SwiftSDK.git
Revision (git rev-parse @):
9ec0f0c01b94acfe14d6745ab63c53ffbe1d2670
SUCCESS checkout https://github.com/TelemetryDeck/SwiftSDK.git at 2.2.1
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/TelemetryDeck/SwiftSDK.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Beta.2.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/5] Write sources
[2/5] Copying PrivacyInfo.xcprivacy
[4/5] Write swift-version--14728B76ED507284.txt
[6/21] Compiling TelemetryClient LogHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/LogHandler.swift:35:23: warning: static property 'stdout' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
33 | }
34 |
35 | public static var stdout = { logLevel in
| |- warning: static property 'stdout' 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 'stdout' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'stdout' 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
36 | LogHandler(logLevel: logLevel) { level, message in
37 | print("[TelemetryDeck: \(level.description)] \(message)")
[7/21] Compiling TelemetryClient ErrorCategory.swift
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/LogHandler.swift:35:23: warning: static property 'stdout' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
33 | }
34 |
35 | public static var stdout = { logLevel in
| |- warning: static property 'stdout' 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 'stdout' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'stdout' 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
36 | LogHandler(logLevel: logLevel) { level, message in
37 | print("[TelemetryDeck: \(level.description)] \(message)")
[8/22] Compiling TelemetryClient SignalCache.swift
[9/22] Compiling TelemetryClient SignalEnricher.swift
[10/22] Compiling TelemetryClient TelemetryDeck.swift
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/TelemetryDeck.swift:15:26: warning: 'initialize(with:)' is deprecated: This call was renamed to `TelemetryDeck.initialize(config:)`. Please migrate – a fix-it is available.
13 | /// For example, you might want to call this in your `init` method of your app's `@main` entry point.
14 | public static func initialize(config: Config) {
15 | TelemetryManager.initialize(with: config)
| |- warning: 'initialize(with:)' is deprecated: This call was renamed to `TelemetryDeck.initialize(config:)`. Please migrate – a fix-it is available.
| `- note: use 'TelemetryDeck.initialize(config:)' instead
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/TelemetryDeck.swift:33:26: warning: 'send(_:for:floatValue:with:)' is deprecated: This call was renamed to `TelemetryDeck.signal(_:parameters:floatValue:customUserID:)`. Please migrate – no fix-it possible due to the changed order of arguments.
31 | customUserID: String? = nil
32 | ) {
33 | TelemetryManager.send(signalName, for: customUserID, floatValue: floatValue, with: parameters)
| `- warning: 'send(_:for:floatValue:with:)' is deprecated: This call was renamed to `TelemetryDeck.signal(_:parameters:floatValue:customUserID:)`. Please migrate – no fix-it possible due to the changed order of arguments.
34 | }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/TelemetryDeck.swift:49:26: warning: 'requestImmediateSync()' is deprecated: This call was renamed to `TelemetryDeck.requestImmediateSync()`. Please migrate – a fix-it is available.
47 | /// data because a user closes your app and doesn't reopen it anytime soon (if at all).
48 | public static func requestImmediateSync() {
49 | TelemetryManager.requestImmediateSync()
| |- warning: 'requestImmediateSync()' is deprecated: This call was renamed to `TelemetryDeck.requestImmediateSync()`. Please migrate – a fix-it is available.
| `- note: use 'TelemetryDeck.requestImmediateSync()' instead
50 | }
51 | }
[11/22] Compiling TelemetryClient TelemetryDeck+Errors.swift
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/Presets/NavigationStatus.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NavigationStatus' may have shared mutable state; this is an error in the Swift 6 language mode
3 | /// This internal singleton keeps track of the last used navigation path so
4 | /// that the ``TelemetryDeck.navigationPathChanged(to:customUserID:)`` function has a `from` source to work off of.
5 | class NavigationStatus {
| `- note: class 'NavigationStatus' does not conform to the 'Sendable' protocol
6 | static let shared = NavigationStatus()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NavigationStatus' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | var previousNavigationPath: String?
[12/22] Compiling TelemetryClient TelemetryDeck+Navigation.swift
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/Presets/NavigationStatus.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NavigationStatus' may have shared mutable state; this is an error in the Swift 6 language mode
3 | /// This internal singleton keeps track of the last used navigation path so
4 | /// that the ``TelemetryDeck.navigationPathChanged(to:customUserID:)`` function has a `from` source to work off of.
5 | class NavigationStatus {
| `- note: class 'NavigationStatus' does not conform to the 'Sendable' protocol
6 | static let shared = NavigationStatus()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NavigationStatus' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | var previousNavigationPath: String?
[13/22] Compiling TelemetryClient IdentifiableError.swift
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/Presets/NavigationStatus.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NavigationStatus' may have shared mutable state; this is an error in the Swift 6 language mode
3 | /// This internal singleton keeps track of the last used navigation path so
4 | /// that the ``TelemetryDeck.navigationPathChanged(to:customUserID:)`` function has a `from` source to work off of.
5 | class NavigationStatus {
| `- note: class 'NavigationStatus' does not conform to the 'Sendable' protocol
6 | static let shared = NavigationStatus()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NavigationStatus' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | var previousNavigationPath: String?
[14/22] Compiling TelemetryClient NavigationStatus.swift
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/Presets/NavigationStatus.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NavigationStatus' may have shared mutable state; this is an error in the Swift 6 language mode
3 | /// This internal singleton keeps track of the last used navigation path so
4 | /// that the ``TelemetryDeck.navigationPathChanged(to:customUserID:)`` function has a `from` source to work off of.
5 | class NavigationStatus {
| `- note: class 'NavigationStatus' does not conform to the 'Sendable' protocol
6 | static let shared = NavigationStatus()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NavigationStatus' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | var previousNavigationPath: String?
[15/22] Emitting module TelemetryClient
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:4:16: warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | extension Formatter {
4 | static let iso8601: ISO8601DateFormatter = {
| |- warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'iso8601' 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
5 | let formatter = ISO8601DateFormatter()
6 | formatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
Foundation.ISO8601DateFormatter:2:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.12, *)
2 | open class ISO8601DateFormatter : Formatter, NSSecureCoding {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
3 | open var timeZone: TimeZone! { get set }
4 | open var formatOptions: ISO8601DateFormatter.Options { get set }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:10:16: warning: static property 'iso8601noFS' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
8 | }()
9 |
10 | static let iso8601noFS = ISO8601DateFormatter()
| |- warning: static property 'iso8601noFS' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'iso8601noFS' 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
11 |
12 | static let iso8601dateOnly: ISO8601DateFormatter = {
Foundation.ISO8601DateFormatter:2:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.12, *)
2 | open class ISO8601DateFormatter : Formatter, NSSecureCoding {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
3 | open var timeZone: TimeZone! { get set }
4 | open var formatOptions: ISO8601DateFormatter.Options { get set }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:12:16: warning: static property 'iso8601dateOnly' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
10 | static let iso8601noFS = ISO8601DateFormatter()
11 |
12 | static let iso8601dateOnly: ISO8601DateFormatter = {
| |- warning: static property 'iso8601dateOnly' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'iso8601dateOnly' 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
13 | let formatter = ISO8601DateFormatter()
14 | formatter.formatOptions = [.withFullDate]
Foundation.ISO8601DateFormatter:2:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.12, *)
2 | open class ISO8601DateFormatter : Formatter, NSSecureCoding {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
3 | open var timeZone: TimeZone! { get set }
4 | open var formatOptions: ISO8601DateFormatter.Options { get set }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:31:16: warning: static property 'telemetryDecoder' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
29 |
30 | extension JSONDecoder {
31 | static var telemetryDecoder: JSONDecoder = {
| |- warning: static property 'telemetryDecoder' 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 'telemetryDecoder' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'telemetryDecoder' 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
32 | let decoder = JSONDecoder()
33 | let dateFormatter = DateFormatter()
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:41:16: warning: static property 'druidDecoder' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
39 | }()
40 |
41 | static var druidDecoder: JSONDecoder = {
| |- warning: static property 'druidDecoder' 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 'druidDecoder' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'druidDecoder' 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
42 | let decoder = JSONDecoder()
43 | decoder.dateDecodingStrategy = .customISO8601
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:49:16: warning: static property 'telemetryEncoder' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | extension JSONEncoder {
49 | static var telemetryEncoder: JSONEncoder = {
| |- warning: static property 'telemetryEncoder' 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 'telemetryEncoder' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'telemetryEncoder' 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
50 | let encoder = JSONEncoder()
51 | let dateFormatter = DateFormatter()
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/LogHandler.swift:35:23: warning: static property 'stdout' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
33 | }
34 |
35 | public static var stdout = { logLevel in
| |- warning: static property 'stdout' 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 'stdout' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'stdout' 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
36 | LogHandler(logLevel: logLevel) { level, message in
37 | print("[TelemetryDeck: \(level.description)] \(message)")
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/Presets/NavigationStatus.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NavigationStatus' may have shared mutable state; this is an error in the Swift 6 language mode
3 | /// This internal singleton keeps track of the last used navigation path so
4 | /// that the ``TelemetryDeck.navigationPathChanged(to:customUserID:)`` function has a `from` source to work off of.
5 | class NavigationStatus {
| `- note: class 'NavigationStatus' does not conform to the 'Sendable' protocol
6 | static let shared = NavigationStatus()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NavigationStatus' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | var previousNavigationPath: String?
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/TelemetryClient.swift:59:34: warning: 'send(_:with:)' is deprecated: This call was renamed to `TelemetryDeck.signal(_:parameters:)`. Please migrate – a fix-it is available.
57 | didSet {
58 | if sendNewSessionBeganSignal {
59 | TelemetryManager.send("newSessionBegan")
| |- warning: 'send(_:with:)' is deprecated: This call was renamed to `TelemetryDeck.signal(_:parameters:)`. Please migrate – a fix-it is available.
| `- note: use 'TelemetryDeck.signal(_:parameters:)' instead
60 | TelemetryDeck.signal("TelemetryDeck.Session.started")
61 | }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/TelemetryClient.swift:337:24: warning: static property 'initializedTelemetryManager' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
335 | }
336 |
337 | private static var initializedTelemetryManager: TelemetryManager?
| |- warning: static property 'initializedTelemetryManager' 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 'initializedTelemetryManager' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'initializedTelemetryManager' 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
338 |
339 | private let configuration: TelemetryManagerConfiguration
[16/22] Compiling TelemetryClient CryptoHashing.swift
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:4:16: warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | extension Formatter {
4 | static let iso8601: ISO8601DateFormatter = {
| |- warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'iso8601' 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
5 | let formatter = ISO8601DateFormatter()
6 | formatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
Foundation.ISO8601DateFormatter:2:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.12, *)
2 | open class ISO8601DateFormatter : Formatter, NSSecureCoding {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
3 | open var timeZone: TimeZone! { get set }
4 | open var formatOptions: ISO8601DateFormatter.Options { get set }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:10:16: warning: static property 'iso8601noFS' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
8 | }()
9 |
10 | static let iso8601noFS = ISO8601DateFormatter()
| |- warning: static property 'iso8601noFS' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'iso8601noFS' 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
11 |
12 | static let iso8601dateOnly: ISO8601DateFormatter = {
Foundation.ISO8601DateFormatter:2:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.12, *)
2 | open class ISO8601DateFormatter : Formatter, NSSecureCoding {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
3 | open var timeZone: TimeZone! { get set }
4 | open var formatOptions: ISO8601DateFormatter.Options { get set }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:12:16: warning: static property 'iso8601dateOnly' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
10 | static let iso8601noFS = ISO8601DateFormatter()
11 |
12 | static let iso8601dateOnly: ISO8601DateFormatter = {
| |- warning: static property 'iso8601dateOnly' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'iso8601dateOnly' 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
13 | let formatter = ISO8601DateFormatter()
14 | formatter.formatOptions = [.withFullDate]
Foundation.ISO8601DateFormatter:2:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.12, *)
2 | open class ISO8601DateFormatter : Formatter, NSSecureCoding {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
3 | open var timeZone: TimeZone! { get set }
4 | open var formatOptions: ISO8601DateFormatter.Options { get set }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:31:16: warning: static property 'telemetryDecoder' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
29 |
30 | extension JSONDecoder {
31 | static var telemetryDecoder: JSONDecoder = {
| |- warning: static property 'telemetryDecoder' 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 'telemetryDecoder' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'telemetryDecoder' 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
32 | let decoder = JSONDecoder()
33 | let dateFormatter = DateFormatter()
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:41:16: warning: static property 'druidDecoder' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
39 | }()
40 |
41 | static var druidDecoder: JSONDecoder = {
| |- warning: static property 'druidDecoder' 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 'druidDecoder' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'druidDecoder' 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
42 | let decoder = JSONDecoder()
43 | decoder.dateDecodingStrategy = .customISO8601
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:49:16: warning: static property 'telemetryEncoder' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | extension JSONEncoder {
49 | static var telemetryEncoder: JSONEncoder = {
| |- warning: static property 'telemetryEncoder' 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 'telemetryEncoder' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'telemetryEncoder' 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
50 | let encoder = JSONEncoder()
51 | let dateFormatter = DateFormatter()
[17/22] Compiling TelemetryClient JSONFormatting.swift
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:4:16: warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | extension Formatter {
4 | static let iso8601: ISO8601DateFormatter = {
| |- warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'iso8601' 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
5 | let formatter = ISO8601DateFormatter()
6 | formatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
Foundation.ISO8601DateFormatter:2:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.12, *)
2 | open class ISO8601DateFormatter : Formatter, NSSecureCoding {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
3 | open var timeZone: TimeZone! { get set }
4 | open var formatOptions: ISO8601DateFormatter.Options { get set }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:10:16: warning: static property 'iso8601noFS' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
8 | }()
9 |
10 | static let iso8601noFS = ISO8601DateFormatter()
| |- warning: static property 'iso8601noFS' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'iso8601noFS' 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
11 |
12 | static let iso8601dateOnly: ISO8601DateFormatter = {
Foundation.ISO8601DateFormatter:2:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.12, *)
2 | open class ISO8601DateFormatter : Formatter, NSSecureCoding {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
3 | open var timeZone: TimeZone! { get set }
4 | open var formatOptions: ISO8601DateFormatter.Options { get set }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:12:16: warning: static property 'iso8601dateOnly' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
10 | static let iso8601noFS = ISO8601DateFormatter()
11 |
12 | static let iso8601dateOnly: ISO8601DateFormatter = {
| |- warning: static property 'iso8601dateOnly' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'iso8601dateOnly' 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
13 | let formatter = ISO8601DateFormatter()
14 | formatter.formatOptions = [.withFullDate]
Foundation.ISO8601DateFormatter:2:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.12, *)
2 | open class ISO8601DateFormatter : Formatter, NSSecureCoding {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
3 | open var timeZone: TimeZone! { get set }
4 | open var formatOptions: ISO8601DateFormatter.Options { get set }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:31:16: warning: static property 'telemetryDecoder' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
29 |
30 | extension JSONDecoder {
31 | static var telemetryDecoder: JSONDecoder = {
| |- warning: static property 'telemetryDecoder' 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 'telemetryDecoder' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'telemetryDecoder' 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
32 | let decoder = JSONDecoder()
33 | let dateFormatter = DateFormatter()
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:41:16: warning: static property 'druidDecoder' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
39 | }()
40 |
41 | static var druidDecoder: JSONDecoder = {
| |- warning: static property 'druidDecoder' 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 'druidDecoder' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'druidDecoder' 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
42 | let decoder = JSONDecoder()
43 | decoder.dateDecodingStrategy = .customISO8601
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:49:16: warning: static property 'telemetryEncoder' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | extension JSONEncoder {
49 | static var telemetryEncoder: JSONEncoder = {
| |- warning: static property 'telemetryEncoder' 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 'telemetryEncoder' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'telemetryEncoder' 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
50 | let encoder = JSONEncoder()
51 | let dateFormatter = DateFormatter()
[18/22] Compiling TelemetryClient resource_bundle_accessor.swift
[19/22] Compiling TelemetryClient SignalManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/SignalManager.swift:78:54: warning: capture of 'configuration' with non-sendable type 'TelemetryManagerConfiguration' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 | ) {
77 | DispatchQueue.global(qos: .utility).async {
78 | let enrichedMetadata: [String: String] = configuration.metadataEnrichers
| `- warning: capture of 'configuration' with non-sendable type 'TelemetryManagerConfiguration' in a `@Sendable` closure; this is an error in the Swift 6 language mode
79 | .map { $0.enrich(signalType: signalName, for: customUserID, floatValue: floatValue) }
80 | .reduce([String: String](), { $0.applying($1) })
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/TelemetryClient.swift:20:20: note: class 'TelemetryManagerConfiguration' does not conform to the 'Sendable' protocol
18 | /// your runtime, it might be a good idea to hold on to the instance and update it as needed. TelemetryManager's behaviour
19 | /// will update as well.
20 | public final class TelemetryManagerConfiguration {
| `- note: class 'TelemetryManagerConfiguration' does not conform to the 'Sendable' protocol
21 | /// Your app's ID for Telemetry. Set this during initialization.
22 | public let telemetryAppID: String
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/SignalManager.swift:89:74: warning: capture of 'self' with non-sendable type 'SignalManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | internal class SignalManager: SignalManageable {
| `- note: class 'SignalManager' does not conform to the 'Sendable' protocol
19 | internal static let minimumSecondsToPassBetweenRequests: Double = 10
20 |
:
87 | receivedAt: Date(),
88 | appID: UUID(uuidString: configuration.telemetryAppID)!,
89 | clientUser: CryptoHashing.sha256(string: customUserID ?? self.defaultUserIdentifier, salt: configuration.salt),
| `- warning: capture of 'self' with non-sendable type 'SignalManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | sessionID: configuration.sessionID.uuidString,
91 | type: "\(signalName)",
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/SignalManager.swift:89:74: warning: implicit capture of 'self' requires that 'SignalManager' conforms to `Sendable`; this is an error in the Swift 6 language mode
16 | }
17 |
18 | internal class SignalManager: SignalManageable {
| `- note: class 'SignalManager' does not conform to the 'Sendable' protocol
19 | internal static let minimumSecondsToPassBetweenRequests: Double = 10
20 |
:
87 | receivedAt: Date(),
88 | appID: UUID(uuidString: configuration.telemetryAppID)!,
89 | clientUser: CryptoHashing.sha256(string: customUserID ?? self.defaultUserIdentifier, salt: configuration.salt),
| `- warning: implicit capture of 'self' requires that 'SignalManager' conforms to `Sendable`; this is an error in the Swift 6 language mode
90 | sessionID: configuration.sessionID.uuidString,
91 | type: "\(signalName)",
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/SignalManager.swift:194:88: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
176 |
177 | private extension SignalManager {
178 | private func send(_ signalPostBodies: [SignalPostBody], completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void) {
| `- note: parameter 'completionHandler' is implicitly non-sendable
179 | DispatchQueue.global(qos: .utility).async {
180 | let path = "/api/v1/apps/\(self.configuration.telemetryAppID)/signals/multiple/"
:
192 | self.configuration.logHandler?.log(.debug, message: String(decoding: urlRequest.httpBody!, as: UTF8.self))
193 |
194 | let task = URLSession.shared.dataTask(with: urlRequest, completionHandler: completionHandler)
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
195 | task.resume()
196 | }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/SignalManager.swift:180:40: warning: capture of 'self' with non-sendable type 'SignalManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | }
17 |
18 | internal class SignalManager: SignalManageable {
| `- note: class 'SignalManager' does not conform to the 'Sendable' protocol
19 | internal static let minimumSecondsToPassBetweenRequests: Double = 10
20 |
:
178 | private func send(_ signalPostBodies: [SignalPostBody], completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void) {
179 | DispatchQueue.global(qos: .utility).async {
180 | let path = "/api/v1/apps/\(self.configuration.telemetryAppID)/signals/multiple/"
| `- warning: capture of 'self' with non-sendable type 'SignalManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
181 | let url = self.configuration.apiBaseURL.appendingPathComponent(path)
182 |
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/SignalManager.swift:194:88: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
192 | self.configuration.logHandler?.log(.debug, message: String(decoding: urlRequest.httpBody!, as: UTF8.self))
193 |
194 | let task = URLSession.shared.dataTask(with: urlRequest, completionHandler: completionHandler)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (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'
195 | task.resume()
196 | }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/JSONFormatting.swift:49:16: warning: static property 'telemetryEncoder' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | extension JSONEncoder {
49 | static var telemetryEncoder: JSONEncoder = {
| |- warning: static property 'telemetryEncoder' 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 'telemetryEncoder' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'telemetryEncoder' 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
50 | let encoder = JSONEncoder()
51 | let dateFormatter = DateFormatter()
[20/22] Compiling TelemetryClient TelemetryDeck+Purchases.swift
[21/22] Compiling TelemetryClient Signal.swift
[22/22] Compiling TelemetryClient TelemetryClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/TelemetryClient.swift:59:34: warning: 'send(_:with:)' is deprecated: This call was renamed to `TelemetryDeck.signal(_:parameters:)`. Please migrate – a fix-it is available.
57 | didSet {
58 | if sendNewSessionBeganSignal {
59 | TelemetryManager.send("newSessionBegan")
| |- warning: 'send(_:with:)' is deprecated: This call was renamed to `TelemetryDeck.signal(_:parameters:)`. Please migrate – a fix-it is available.
| `- note: use 'TelemetryDeck.signal(_:parameters:)' instead
60 | TelemetryDeck.signal("TelemetryDeck.Session.started")
61 | }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/LogHandler.swift:35:23: warning: static property 'stdout' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
33 | }
34 |
35 | public static var stdout = { logLevel in
| |- warning: static property 'stdout' 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 'stdout' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'stdout' 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
36 | LogHandler(logLevel: logLevel) { level, message in
37 | print("[TelemetryDeck: \(level.description)] \(message)")
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/TelemetryClient.swift:337:24: warning: static property 'initializedTelemetryManager' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
335 | }
336 |
337 | private static var initializedTelemetryManager: TelemetryManager?
| |- warning: static property 'initializedTelemetryManager' 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 'initializedTelemetryManager' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'initializedTelemetryManager' 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
338 |
339 | private let configuration: TelemetryManagerConfiguration
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/TelemetryClient.swift:322:17: warning: capture of 'self' with non-sendable type 'TelemetryManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
183 | ///
184 | /// Use an instance of `TelemetryManagerConfiguration` to configure this at initialization and during its lifetime.
185 | public class TelemetryManager {
| `- note: class 'TelemetryManager' does not conform to the 'Sendable' protocol
186 | /// Returns `true` when the TelemetryManager already has been initialized correctly, `false` otherwise.
187 | public static var isInitialized: Bool {
:
320 | // give the signal manager some short amount of time to process the signal that was sent right before calling sync
321 | DispatchQueue.global(qos: .utility).asyncAfter(deadline: .now() + .milliseconds(50)) { [weak self] in
322 | self?.signalManager.attemptToSendNextBatchOfCachedSignals()
| `- warning: capture of 'self' with non-sendable type 'TelemetryManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
323 | }
324 | }
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/TelemetryClient.swift:400:26: warning: 'initialize(with:)' is deprecated: This call was renamed to `TelemetryDeck.initialize(config:)`. Please migrate – a fix-it is available.
398 | public final class TelemetryManagerObjCProxy: NSObject {
399 | @objc public static func initialize(with configuration: TelemetryManagerConfigurationObjCProxy) {
400 | TelemetryManager.initialize(with: configuration.telemetryManagerConfiguration)
| |- warning: 'initialize(with:)' is deprecated: This call was renamed to `TelemetryDeck.initialize(config:)`. Please migrate – a fix-it is available.
| `- note: use 'TelemetryDeck.initialize(config:)' instead
401 | }
402 |
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/TelemetryClient.swift:408:26: warning: 'send(_:for:floatValue:with:)' is deprecated: This call was renamed to `TelemetryDeck.signal(_:parameters:floatValue:customUserID:)`. Please migrate – no fix-it possible due to the changed order of arguments.
406 |
407 | @objc public static func send(_ signalName: String, for clientUser: String? = nil, with additionalPayload: [String: String] = [:]) {
408 | TelemetryManager.send(signalName, for: clientUser, with: additionalPayload)
| `- warning: 'send(_:for:floatValue:with:)' is deprecated: This call was renamed to `TelemetryDeck.signal(_:parameters:floatValue:customUserID:)`. Please migrate – no fix-it possible due to the changed order of arguments.
409 | }
410 |
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/TelemetryClient.swift:412:26: warning: 'send(_:with:)' is deprecated: This call was renamed to `TelemetryDeck.signal(_:parameters:)`. Please migrate – a fix-it is available.
410 |
411 | @objc public static func send(_ signalName: String, with additionalPayload: [String: String] = [:]) {
412 | TelemetryManager.send(signalName, with: additionalPayload)
| |- warning: 'send(_:with:)' is deprecated: This call was renamed to `TelemetryDeck.signal(_:parameters:)`. Please migrate – a fix-it is available.
| `- note: use 'TelemetryDeck.signal(_:parameters:)' instead
413 | }
414 |
/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/TelemetryClient.swift:416:26: warning: 'send(_:with:)' is deprecated: This call was renamed to `TelemetryDeck.signal(_:parameters:)`. Please migrate – a fix-it is available.
414 |
415 | @objc public static func send(_ signalName: String) {
416 | TelemetryManager.send(signalName)
| |- warning: 'send(_:with:)' is deprecated: This call was renamed to `TelemetryDeck.signal(_:parameters:)`. Please migrate – a fix-it is available.
| `- note: use 'TelemetryDeck.signal(_:parameters:)' instead
417 | }
418 |
[23/25] Compiling TelemetryDeck Exports.swift
[24/25] Emitting module TelemetryDeck
[25/25] Compiling TelemetryDeck resource_bundle_accessor.swift
Build complete! (16.27s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "TelemetryClient",
"name" : "TelemetryClient",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "watchos",
"version" : "5.0"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "TelemetryDeck",
"targets" : [
"TelemetryDeck"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TelemetryClient",
"targets" : [
"TelemetryClient"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TelemetryDeck",
"module_type" : "SwiftTarget",
"name" : "TelemetryDeck",
"path" : "Sources/TelemetryDeck",
"product_memberships" : [
"TelemetryDeck"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/TelemetryDeck/PrivacyInfo.xcprivacy",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"Exports.swift"
],
"target_dependencies" : [
"TelemetryClient"
],
"type" : "library"
},
{
"c99name" : "TelemetryClientTests",
"module_type" : "SwiftTarget",
"name" : "TelemetryClientTests",
"path" : "Tests/TelemetryClientTests",
"sources" : [
"CryptoHashingTests.swift",
"LogHandlerTests.swift",
"SignalPayloadTests.swift",
"TelemetryClientTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"TelemetryClient"
],
"type" : "test"
},
{
"c99name" : "TelemetryClient",
"module_type" : "SwiftTarget",
"name" : "TelemetryClient",
"path" : "Sources/TelemetryClient",
"product_memberships" : [
"TelemetryDeck",
"TelemetryClient"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/TelemetryClient/PrivacyInfo.xcprivacy",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"CryptoHashing.swift",
"JSONFormatting.swift",
"LogHandler.swift",
"Presets/ErrorCategory.swift",
"Presets/IdentifiableError.swift",
"Presets/NavigationStatus.swift",
"Presets/TelemetryDeck+Errors.swift",
"Presets/TelemetryDeck+Navigation.swift",
"Presets/TelemetryDeck+Purchases.swift",
"Signal.swift",
"SignalCache.swift",
"SignalEnricher.swift",
"SignalManager.swift",
"TelemetryClient.swift",
"TelemetryDeck.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.