The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of TraceLogAdaptiveWriter, reference master (4ce538), with Swift 6.0 for macOS (SPM) on 30 Oct 2024 17:33:31 UTC.

Swift 6 data race errors: 1

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tonystone/tracelog-adaptive-writer.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/tonystone/tracelog-adaptive-writer
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 4ce5385 Merge pull request #13 from tonystone/tracelog-5
Cloned https://github.com/tonystone/tracelog-adaptive-writer.git
Revision (git rev-parse @):
4ce53855505a61861f0520e257795521cd65af99
SUCCESS checkout https://github.com/tonystone/tracelog-adaptive-writer.git at master
Fetching https://github.com/tonystone/tracelog.git
[1/5678] Fetching tracelog
Fetched https://github.com/tonystone/tracelog.git from cache (1.20s)
Computing version for https://github.com/tonystone/tracelog.git
Computed https://github.com/tonystone/tracelog.git at 5.0.1 (0.64s)
Creating working copy for https://github.com/tonystone/tracelog.git
Working copy of https://github.com/tonystone/tracelog.git resolved at 5.0.1
========================================
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": "tracelog-adaptive-writer",
      "name": "TraceLogAdaptiveWriter",
      "url": "https://github.com/tonystone/tracelog-adaptive-writer.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/tracelog-adaptive-writer",
      "dependencies": [
        {
          "identity": "tracelog",
          "name": "TraceLog",
          "url": "https://github.com/tonystone/tracelog.git",
          "version": "5.0.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/tracelog",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/tonystone/tracelog-adaptive-writer.git
[1/457] Fetching tracelog-adaptive-writer
Fetched https://github.com/tonystone/tracelog-adaptive-writer.git from cache (0.77s)
Fetching https://github.com/tonystone/tracelog.git from cache
Fetched https://github.com/tonystone/tracelog.git from cache (0.46s)
Computing version for https://github.com/tonystone/tracelog.git
Computed https://github.com/tonystone/tracelog.git at 5.0.1 (0.02s)
Creating working copy for https://github.com/tonystone/tracelog.git
Working copy of https://github.com/tonystone/tracelog.git resolved at 5.0.1
Creating working copy for https://github.com/tonystone/tracelog-adaptive-writer.git
Working copy of https://github.com/tonystone/tracelog-adaptive-writer.git resolved at master (4ce5385)
warning: '.resolve-product-dependencies': dependency 'tracelog-adaptive-writer' is not used by any target
Found 1 product dependencies
  - TraceLog
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/tonystone/tracelog-adaptive-writer.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/8] Write sources
[2/8] Write swift-version--7754E27361AE5C74.txt
[4/38] Emitting module TraceLog
[5/41] Compiling TraceLog RuntimeContext.swift
[6/41] Compiling TraceLog StaticContext.swift
[7/41] Compiling TraceLog Writer.swift
[8/41] Compiling TraceLog LogLevel.swift
[9/41] Compiling TraceLog OutputStreamFormatter.swift
[10/41] Compiling TraceLog OutputStreamWriter.swift
[11/41] Compiling TraceLog TraceLog.swift
[12/41] Compiling TraceLog ConsoleWriter.swift
[13/41] Compiling TraceLog FileStrategy+Fixed.swift
[14/41] Compiling TraceLog FileOutputStreamError+Posix.swift
[15/41] Compiling TraceLog OutputStream.swift
[16/41] Compiling TraceLog OutputStreamError+Posix.swift
[17/41] Compiling TraceLog RawOutputStream.swift
[18/41] Compiling TraceLog StandardStream.swift
[19/41] Compiling TraceLog String+InternalExtensions.swift
[20/41] Compiling TraceLog CharacterSet+InternalExtensions.swift
[21/41] Compiling TraceLog Mutex.swift
[22/41] Compiling TraceLog FileOutputStream.swift
[23/41] Compiling TraceLog FileStrategy+Rotate.swift
[24/41] Compiling TraceLog FileStrategyManager.swift
[25/41] Compiling TraceLog FileWriter.swift
[26/41] Compiling TraceLog ConcurrencyMode.swift
[27/41] Compiling TraceLog Environment.swift
[28/41] Compiling TraceLog JSONFormat.swift
[29/41] Compiling TraceLog TextFormat.swift
[30/41] Compiling TraceLog Configuration.swift
[31/41] Compiling TraceLog Logger.swift
[32/41] Compiling TraceLog AsyncWriterProxy.swift
[33/41] Compiling TraceLog DirectWriterProxy.swift
[34/41] Compiling TraceLog SyncWriterProxy.swift
[35/41] Compiling TraceLog WriterProxy.swift
[36/41] Compiling TraceLog BlockTimer.swift
[36/41] Compiling TraceLogObjC TraceLog.m
[37/41] Write Objects.LinkFileList
[38/41] Linking libTraceLog.dylib
[40/47] Compiling TraceLogAdaptiveWriter Platform.swift
[41/47] Compiling TraceLogAdaptiveWriter AdaptiveWriter.swift
/Users/admin/builder/spi-builder-workspace/Sources/TraceLogAdaptiveWriter/Platform/DarwinPlatformWriter.swift:40:16: warning: static property 'defaultLogLevelConversion' is not concurrency-safe because non-'Sendable' type '[LogLevel : Platform.LogLevel]' (aka 'Dictionary<LogLevel, Int32>') may have shared mutable state; this is an error in the Swift 6 language mode
38 |     /// The default LogLevel Conversion Table.
39 |     ///
40 |     static let defaultLogLevelConversion: [TraceLog.LogLevel: Platform.LogLevel] = [
   |                `- warning: static property 'defaultLogLevelConversion' is not concurrency-safe because non-'Sendable' type '[LogLevel : Platform.LogLevel]' (aka 'Dictionary<LogLevel, Int32>') may have shared mutable state; this is an error in the Swift 6 language mode
41 |         .error:   Platform.LogLevel(OSLogType.error.rawValue),
42 |         .warning: Platform.LogLevel(OSLogType.default.rawValue),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/tracelog/Sources/TraceLog/SDK/LogLevel.swift:26:13: note: enum 'LogLevel' does not conform to the 'Sendable' protocol
 24 | /// environment variables that can be set to configure TraceLog.
 25 | ///
 26 | public enum LogLevel: Int, CaseIterable, Comparable {
    |             `- note: enum 'LogLevel' does not conform to the 'Sendable' protocol
 27 |
 28 |     // MARK: Available Levels
/Users/admin/builder/spi-builder-workspace/Sources/TraceLogAdaptiveWriter/Platform/DarwinPlatformWriter.swift:23:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'TraceLog'
21 |
22 | import Foundation
23 | import TraceLog
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'TraceLog'
24 |
25 | import os.log
   :
38 |     /// The default LogLevel Conversion Table.
39 |     ///
40 |     static let defaultLogLevelConversion: [TraceLog.LogLevel: Platform.LogLevel] = [
   |                |- note: annotate 'defaultLogLevelConversion' 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
41 |         .error:   Platform.LogLevel(OSLogType.error.rawValue),
42 |         .warning: Platform.LogLevel(OSLogType.default.rawValue),
[42/47] Compiling TraceLogAdaptiveWriter LinuxPlatformWriter.swift
[43/47] Emitting module TraceLogAdaptiveWriter
/Users/admin/builder/spi-builder-workspace/Sources/TraceLogAdaptiveWriter/Platform/DarwinPlatformWriter.swift:40:16: warning: static property 'defaultLogLevelConversion' is not concurrency-safe because non-'Sendable' type '[LogLevel : Platform.LogLevel]' (aka 'Dictionary<LogLevel, Int32>') may have shared mutable state; this is an error in the Swift 6 language mode
38 |     /// The default LogLevel Conversion Table.
39 |     ///
40 |     static let defaultLogLevelConversion: [TraceLog.LogLevel: Platform.LogLevel] = [
   |                `- warning: static property 'defaultLogLevelConversion' is not concurrency-safe because non-'Sendable' type '[LogLevel : Platform.LogLevel]' (aka 'Dictionary<LogLevel, Int32>') may have shared mutable state; this is an error in the Swift 6 language mode
41 |         .error:   Platform.LogLevel(OSLogType.error.rawValue),
42 |         .warning: Platform.LogLevel(OSLogType.default.rawValue),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/tracelog/Sources/TraceLog/SDK/LogLevel.swift:26:13: note: enum 'LogLevel' does not conform to the 'Sendable' protocol
 24 | /// environment variables that can be set to configure TraceLog.
 25 | ///
 26 | public enum LogLevel: Int, CaseIterable, Comparable {
    |             `- note: enum 'LogLevel' does not conform to the 'Sendable' protocol
 27 |
 28 |     // MARK: Available Levels
/Users/admin/builder/spi-builder-workspace/Sources/TraceLogAdaptiveWriter/Platform/DarwinPlatformWriter.swift:23:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'TraceLog'
21 |
22 | import Foundation
23 | import TraceLog
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'TraceLog'
24 |
25 | import os.log
   :
38 |     /// The default LogLevel Conversion Table.
39 |     ///
40 |     static let defaultLogLevelConversion: [TraceLog.LogLevel: Platform.LogLevel] = [
   |                |- note: annotate 'defaultLogLevelConversion' 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
41 |         .error:   Platform.LogLevel(OSLogType.error.rawValue),
42 |         .warning: Platform.LogLevel(OSLogType.default.rawValue),
[44/47] Compiling TraceLogAdaptiveWriter DarwinPlatformWriter.swift
/Users/admin/builder/spi-builder-workspace/Sources/TraceLogAdaptiveWriter/Platform/DarwinPlatformWriter.swift:40:16: warning: static property 'defaultLogLevelConversion' is not concurrency-safe because non-'Sendable' type '[LogLevel : Platform.LogLevel]' (aka 'Dictionary<LogLevel, Int32>') may have shared mutable state; this is an error in the Swift 6 language mode
38 |     /// The default LogLevel Conversion Table.
39 |     ///
40 |     static let defaultLogLevelConversion: [TraceLog.LogLevel: Platform.LogLevel] = [
   |                `- warning: static property 'defaultLogLevelConversion' is not concurrency-safe because non-'Sendable' type '[LogLevel : Platform.LogLevel]' (aka 'Dictionary<LogLevel, Int32>') may have shared mutable state; this is an error in the Swift 6 language mode
41 |         .error:   Platform.LogLevel(OSLogType.error.rawValue),
42 |         .warning: Platform.LogLevel(OSLogType.default.rawValue),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/tracelog/Sources/TraceLog/SDK/LogLevel.swift:26:13: note: enum 'LogLevel' does not conform to the 'Sendable' protocol
 24 | /// environment variables that can be set to configure TraceLog.
 25 | ///
 26 | public enum LogLevel: Int, CaseIterable, Comparable {
    |             `- note: enum 'LogLevel' does not conform to the 'Sendable' protocol
 27 |
 28 |     // MARK: Available Levels
/Users/admin/builder/spi-builder-workspace/Sources/TraceLogAdaptiveWriter/Platform/DarwinPlatformWriter.swift:23:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'TraceLog'
21 |
22 | import Foundation
23 | import TraceLog
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'TraceLog'
24 |
25 | import os.log
   :
38 |     /// The default LogLevel Conversion Table.
39 |     ///
40 |     static let defaultLogLevelConversion: [TraceLog.LogLevel: Platform.LogLevel] = [
   |                |- note: annotate 'defaultLogLevelConversion' 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
41 |         .error:   Platform.LogLevel(OSLogType.error.rawValue),
42 |         .warning: Platform.LogLevel(OSLogType.default.rawValue),
[45/47] Compiling TraceLogAdaptiveWriter PlatformWriter.swift
[45/47] Write Objects.LinkFileList
[46/47] Linking libTraceLogAdaptiveWriter.dylib
Build complete! (18.36s)
warning: failed to retrieve search paths with pkg-config; maybe pkg-config is not installed
warning: couldn't find pc file for libsystemd
Build complete.
{
  "dependencies" : [
    {
      "identity" : "tracelog",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.0.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/tonystone/tracelog.git"
    }
  ],
  "manifest_display_name" : "TraceLogAdaptiveWriter",
  "name" : "TraceLogAdaptiveWriter",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "TraceLogAdaptiveWriter",
      "targets" : [
        "TraceLogAdaptiveWriter"
      ],
      "type" : {
        "library" : [
          "dynamic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "systemd",
      "module_type" : "SystemLibraryTarget",
      "name" : "systemd",
      "path" : "Sources/systemd",
      "product_memberships" : [
        "TraceLogAdaptiveWriter"
      ],
      "sources" : [
      ],
      "type" : "system-target"
    },
    {
      "c99name" : "TraceLogAdaptiveWriterTests",
      "module_type" : "SwiftTarget",
      "name" : "TraceLogAdaptiveWriterTests",
      "path" : "Tests/TraceLogAdaptiveWriterTests",
      "product_dependencies" : [
        "TraceLog"
      ],
      "sources" : [
        "AdaptiveWriterTests.swift",
        "Platform.swift",
        "Platform/DarwinPlatformReader.swift",
        "Platform/LinuxPlatformReader.swift",
        "TestHarness/BufferReader.swift",
        "TestHarness/BufferWriter.swift",
        "TestHarness/TestHarness.swift",
        "TestHarness/TestUtilities.swift",
        "TestWriters/TestContext.swift"
      ],
      "target_dependencies" : [
        "TraceLogAdaptiveWriter"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TraceLogAdaptiveWriter",
      "module_type" : "SwiftTarget",
      "name" : "TraceLogAdaptiveWriter",
      "path" : "Sources/TraceLogAdaptiveWriter",
      "product_dependencies" : [
        "TraceLog"
      ],
      "product_memberships" : [
        "TraceLogAdaptiveWriter"
      ],
      "sources" : [
        "AdaptiveWriter.swift",
        "Platform.swift",
        "Platform/DarwinPlatformWriter.swift",
        "Platform/LinuxPlatformWriter.swift",
        "PlatformWriter.swift"
      ],
      "target_dependencies" : [
        "systemd"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.