The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Broadcast, reference 2.0.0 (498722), with Swift 6.1 for Android on 23 Oct 2026 06:08:47 UTC.

Swift 6 data race errors: 2

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344846-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -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 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mergesort/Broadcast.git
Reference: 2.0.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/mergesort/Broadcast
 * tag               2.0.0      -> FETCH_HEAD
HEAD is now at 4987221 Merge branch 'linux-support'
Cloned https://github.com/mergesort/Broadcast.git
Revision (git rev-parse @):
4987221ccef68e32b5c00d6b9a47c98c240b844a
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/mergesort/Broadcast.git at 2.0.0
========================================
Build
========================================
Selected platform:         android
Swift version:             6.1
Building package at path:  $PWD
https://github.com/mergesort/Broadcast.git
https://github.com/mergesort/Broadcast.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344846-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -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 2>&1
android-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:639806e3270a7d76362a869fc7a464db4368085eea7ecdf63d02ce60a0298950
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.1-latest
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/mergesort/Boutique
Fetching https://github.com/apple/swift-log
[1/2345] Fetching swift-docc-plugin
[2/10718] Fetching swift-docc-plugin, swift-log
[404/13976] Fetching swift-docc-plugin, swift-log, boutique
Fetched https://github.com/apple/swift-log from cache (0.49s)
[3681/5603] Fetching swift-docc-plugin, boutique
Fetched https://github.com/apple/swift-docc-plugin from cache (0.69s)
Fetched https://github.com/mergesort/Boutique from cache (0.69s)
Computing version for https://github.com/mergesort/Boutique
Computed https://github.com/mergesort/Boutique at 3.0.2 (0.92s)
Fetching https://github.com/mergesort/Bodega.git
Fetching https://github.com/apple/swift-collections
[1/2016] Fetching bodega
Fetched https://github.com/mergesort/Bodega.git from cache (0.40s)
[1/29283] Fetching swift-collections
Fetched https://github.com/apple/swift-collections from cache (1.05s)
Computing version for https://github.com/mergesort/Bodega.git
Computed https://github.com/mergesort/Bodega.git at 2.1.3 (1.98s)
Fetching https://github.com/stephencelis/SQLite.swift.git
[1/11503] Fetching sqlite.swift
Fetched https://github.com/stephencelis/SQLite.swift.git from cache (0.73s)
Computing version for https://github.com/stephencelis/SQLite.swift.git
Computed https://github.com/stephencelis/SQLite.swift.git at 0.17.0 (0.96s)
Fetching https://github.com/sqlcipher/SQLCipher.swift
Fetching https://github.com/stephencelis/CSQLite
[1/348] Fetching csqlite
[245/504] Fetching csqlite, sqlcipher.swift
Fetched https://github.com/stephencelis/CSQLite from cache (0.72s)
Fetched https://github.com/sqlcipher/SQLCipher.swift from cache (0.72s)
Computing version for https://github.com/stephencelis/CSQLite
Computed https://github.com/stephencelis/CSQLite at 3.53.4 (0.93s)
Computing version for https://github.com/sqlcipher/SQLCipher.swift
Computed https://github.com/sqlcipher/SQLCipher.swift at 4.19.0 (0.20s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.5.0 (0.24s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3846] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.53s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.79s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.15.1 (0.22s)
Computing version for https://github.com/apple/swift-collections
Computed https://github.com/apple/swift-collections at 1.6.0 (0.31s)
Creating working copy for https://github.com/mergesort/Boutique
Working copy of https://github.com/mergesort/Boutique resolved at 3.0.2
Creating working copy for https://github.com/stephencelis/SQLite.swift.git
Working copy of https://github.com/stephencelis/SQLite.swift.git resolved at 0.17.0
Creating working copy for https://github.com/sqlcipher/SQLCipher.swift
Working copy of https://github.com/sqlcipher/SQLCipher.swift resolved at 4.19.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-collections
Working copy of https://github.com/apple/swift-collections resolved at 1.6.0
Creating working copy for https://github.com/stephencelis/CSQLite
Working copy of https://github.com/stephencelis/CSQLite resolved at 3.53.4
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.15.1
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/mergesort/Bodega.git
Working copy of https://github.com/mergesort/Bodega.git resolved at 2.1.3
Downloading binary artifact https://github.com/sqlcipher/SQLCipher.swift/releases/download/4.19.0/SQLCipher.xcframework.zip
[1369/50488573] Downloading https://github.com/sqlcipher/SQLCipher.swift/releases/download/4.19.0/SQLCipher.xcframework.zip
Downloaded https://github.com/sqlcipher/SQLCipher.swift/releases/download/4.19.0/SQLCipher.xcframework.zip (3.17s)
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version-24593BA9C3E375BF.txt
[5/32] Emitting module Broadcast
/host/spi-builder-workspace/Sources/Broadcast/Log/Log.swift:89:13: warning: static property 'sessionLogger' is not concurrency-safe because non-'Sendable' type 'SessionLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 87 | 	/// Prefer creating and injecting your own ``SessionLogger`` when you need explicit
 88 | 	/// lifetime control, deterministic tests, or multiple independently exported buffers.
 89 | 	static let sessionLogger = SessionLogger()
    |             |- warning: static property 'sessionLogger' is not concurrency-safe because non-'Sendable' type 'SessionLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make static property 'sessionLogger' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 90 |
 91 | 	#if canImport(OSLog)
/host/spi-builder-workspace/Sources/Broadcast/Loggers/SessionLogger.swift:10:20: note: class 'SessionLogger' does not conform to the 'Sendable' protocol
 8 | /// this process. It does not persist across app restarts; use ``MultiSessionLogger``
 9 | /// when historical logs should survive relaunches.
10 | public final class SessionLogger: BufferedLoggingDestination {
   |                    `- note: class 'SessionLogger' does not conform to the 'Sendable' protocol
11 | 	public let dateProvider: Log.DateProvider
12 | 	private let storage = SessionLogStorage()
/host/spi-builder-workspace/Sources/Broadcast/Log/Log.swift:114:13: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Log' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | /// `log.error` call is sent to each destination, so your app gets one simple API
  5 | /// while destinations decide where records go and how they are formatted.
  6 | public struct Log {
    |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
  7 | 	/// The destinations that receive every log call.
  8 | 	///
    :
112 | 	/// On platforms without Apple's unified logging system, use ``SwiftLogDestination``
113 | 	/// or another process-appropriate destination for console output.
114 | 	static let `default` = Log(destinations: [Log.sessionLogger])
    |             |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Log' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 | 	#endif
116 | }
[6/35] Compiling Broadcast Log.Record.FormatStyle.TokenOptimized.swift
[7/35] Compiling Broadcast Log.Record.FormatStyle.swift
[8/35] Compiling Broadcast Log.Payload.Value.FormatStyle.swift
[9/35] Compiling Broadcast Log.Record.CanonicalLogLineRepresentation.swift
[10/35] Compiling Broadcast Log.Category.swift
[11/35] Compiling Broadcast Log.Level.swift
[12/35] Compiling Broadcast Log.Payload.swift
[13/35] Compiling Broadcast Log.Record.Formatter.swift
[14/35] Compiling Broadcast Log.Payload.FormatStyle.swift
[15/35] Compiling Broadcast Log.Record.FormatStyle.CanonicalLogLine.swift
[16/35] Compiling Broadcast Log.Record.FormatStyle.Default.swift
[17/35] Compiling Broadcast Log.Record.FormatStyle.JSON.swift
[18/35] Compiling Broadcast BufferedLoggingDestination.swift
[19/35] Compiling Broadcast ConsoleLogger.swift
[20/35] Compiling Broadcast LoggingDestination.swift
[21/35] Compiling Broadcast Log.Record.JSONRepresentation.swift
[22/35] Compiling Broadcast Log.Record.KeyValueFormatStyle.swift
[23/35] Compiling Broadcast Log.Record.KeyValuePair.swift
[24/35] Compiling Broadcast Log.Record.TokenOptimizedRepresentation.swift
[25/35] Compiling Broadcast Log.Record.swift
[26/35] Compiling Broadcast Log.Signal.swift
[27/35] Compiling Broadcast Log.Timestamp.FormatStyle.swift
[28/35] Compiling Broadcast Log.Timestamp.swift
[29/35] Compiling Broadcast Log+Combined.swift
/host/spi-builder-workspace/Sources/Broadcast/Log/Log.swift:89:13: warning: static property 'sessionLogger' is not concurrency-safe because non-'Sendable' type 'SessionLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 87 | 	/// Prefer creating and injecting your own ``SessionLogger`` when you need explicit
 88 | 	/// lifetime control, deterministic tests, or multiple independently exported buffers.
 89 | 	static let sessionLogger = SessionLogger()
    |             |- warning: static property 'sessionLogger' is not concurrency-safe because non-'Sendable' type 'SessionLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make static property 'sessionLogger' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 90 |
 91 | 	#if canImport(OSLog)
/host/spi-builder-workspace/Sources/Broadcast/Loggers/SessionLogger.swift:10:20: note: class 'SessionLogger' does not conform to the 'Sendable' protocol
 8 | /// this process. It does not persist across app restarts; use ``MultiSessionLogger``
 9 | /// when historical logs should survive relaunches.
10 | public final class SessionLogger: BufferedLoggingDestination {
   |                    `- note: class 'SessionLogger' does not conform to the 'Sendable' protocol
11 | 	public let dateProvider: Log.DateProvider
12 | 	private let storage = SessionLogStorage()
/host/spi-builder-workspace/Sources/Broadcast/Log/Log.swift:114:13: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Log' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | /// `log.error` call is sent to each destination, so your app gets one simple API
  5 | /// while destinations decide where records go and how they are formatted.
  6 | public struct Log {
    |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
  7 | 	/// The destinations that receive every log call.
  8 | 	///
    :
112 | 	/// On platforms without Apple's unified logging system, use ``SwiftLogDestination``
113 | 	/// or another process-appropriate destination for console output.
114 | 	static let `default` = Log(destinations: [Log.sessionLogger])
    |             |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Log' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 | 	#endif
116 | }
[30/35] Compiling Broadcast Log+DateProvider.swift
/host/spi-builder-workspace/Sources/Broadcast/Log/Log.swift:89:13: warning: static property 'sessionLogger' is not concurrency-safe because non-'Sendable' type 'SessionLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 87 | 	/// Prefer creating and injecting your own ``SessionLogger`` when you need explicit
 88 | 	/// lifetime control, deterministic tests, or multiple independently exported buffers.
 89 | 	static let sessionLogger = SessionLogger()
    |             |- warning: static property 'sessionLogger' is not concurrency-safe because non-'Sendable' type 'SessionLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make static property 'sessionLogger' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 90 |
 91 | 	#if canImport(OSLog)
/host/spi-builder-workspace/Sources/Broadcast/Loggers/SessionLogger.swift:10:20: note: class 'SessionLogger' does not conform to the 'Sendable' protocol
 8 | /// this process. It does not persist across app restarts; use ``MultiSessionLogger``
 9 | /// when historical logs should survive relaunches.
10 | public final class SessionLogger: BufferedLoggingDestination {
   |                    `- note: class 'SessionLogger' does not conform to the 'Sendable' protocol
11 | 	public let dateProvider: Log.DateProvider
12 | 	private let storage = SessionLogStorage()
/host/spi-builder-workspace/Sources/Broadcast/Log/Log.swift:114:13: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Log' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | /// `log.error` call is sent to each destination, so your app gets one simple API
  5 | /// while destinations decide where records go and how they are formatted.
  6 | public struct Log {
    |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
  7 | 	/// The destinations that receive every log call.
  8 | 	///
    :
112 | 	/// On platforms without Apple's unified logging system, use ``SwiftLogDestination``
113 | 	/// or another process-appropriate destination for console output.
114 | 	static let `default` = Log(destinations: [Log.sessionLogger])
    |             |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Log' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 | 	#endif
116 | }
[31/35] Compiling Broadcast Log+Structured.swift
/host/spi-builder-workspace/Sources/Broadcast/Log/Log.swift:89:13: warning: static property 'sessionLogger' is not concurrency-safe because non-'Sendable' type 'SessionLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 87 | 	/// Prefer creating and injecting your own ``SessionLogger`` when you need explicit
 88 | 	/// lifetime control, deterministic tests, or multiple independently exported buffers.
 89 | 	static let sessionLogger = SessionLogger()
    |             |- warning: static property 'sessionLogger' is not concurrency-safe because non-'Sendable' type 'SessionLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make static property 'sessionLogger' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 90 |
 91 | 	#if canImport(OSLog)
/host/spi-builder-workspace/Sources/Broadcast/Loggers/SessionLogger.swift:10:20: note: class 'SessionLogger' does not conform to the 'Sendable' protocol
 8 | /// this process. It does not persist across app restarts; use ``MultiSessionLogger``
 9 | /// when historical logs should survive relaunches.
10 | public final class SessionLogger: BufferedLoggingDestination {
   |                    `- note: class 'SessionLogger' does not conform to the 'Sendable' protocol
11 | 	public let dateProvider: Log.DateProvider
12 | 	private let storage = SessionLogStorage()
/host/spi-builder-workspace/Sources/Broadcast/Log/Log.swift:114:13: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Log' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | /// `log.error` call is sent to each destination, so your app gets one simple API
  5 | /// while destinations decide where records go and how they are formatted.
  6 | public struct Log {
    |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
  7 | 	/// The destinations that receive every log call.
  8 | 	///
    :
112 | 	/// On platforms without Apple's unified logging system, use ``SwiftLogDestination``
113 | 	/// or another process-appropriate destination for console output.
114 | 	static let `default` = Log(destinations: [Log.sessionLogger])
    |             |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Log' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 | 	#endif
116 | }
[32/35] Compiling Broadcast Log.swift
/host/spi-builder-workspace/Sources/Broadcast/Log/Log.swift:89:13: warning: static property 'sessionLogger' is not concurrency-safe because non-'Sendable' type 'SessionLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 87 | 	/// Prefer creating and injecting your own ``SessionLogger`` when you need explicit
 88 | 	/// lifetime control, deterministic tests, or multiple independently exported buffers.
 89 | 	static let sessionLogger = SessionLogger()
    |             |- warning: static property 'sessionLogger' is not concurrency-safe because non-'Sendable' type 'SessionLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make static property 'sessionLogger' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 90 |
 91 | 	#if canImport(OSLog)
/host/spi-builder-workspace/Sources/Broadcast/Loggers/SessionLogger.swift:10:20: note: class 'SessionLogger' does not conform to the 'Sendable' protocol
 8 | /// this process. It does not persist across app restarts; use ``MultiSessionLogger``
 9 | /// when historical logs should survive relaunches.
10 | public final class SessionLogger: BufferedLoggingDestination {
   |                    `- note: class 'SessionLogger' does not conform to the 'Sendable' protocol
11 | 	public let dateProvider: Log.DateProvider
12 | 	private let storage = SessionLogStorage()
/host/spi-builder-workspace/Sources/Broadcast/Log/Log.swift:114:13: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Log' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | /// `log.error` call is sent to each destination, so your app gets one simple API
  5 | /// while destinations decide where records go and how they are formatted.
  6 | public struct Log {
    |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
  7 | 	/// The destinations that receive every log call.
  8 | 	///
    :
112 | 	/// On platforms without Apple's unified logging system, use ``SwiftLogDestination``
113 | 	/// or another process-appropriate destination for console output.
114 | 	static let `default` = Log(destinations: [Log.sessionLogger])
    |             |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Log' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 | 	#endif
116 | }
[33/35] Compiling Broadcast MultiSessionLogger.swift
[34/35] Compiling Broadcast SessionLogger.swift
[35/35] Compiling Broadcast SwiftLogDestination.swift
Build complete! (22.60s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "boutique",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.0.2",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mergesort/Boutique"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.6.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "Broadcast",
  "name" : "Broadcast",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "18.0"
    },
    {
      "name" : "macos",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "Broadcast",
      "targets" : [
        "Broadcast"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "BroadcastTests",
      "module_type" : "SwiftTarget",
      "name" : "BroadcastTests",
      "path" : "Tests/BroadcastTests",
      "product_dependencies" : [
        "Boutique",
        "Logging"
      ],
      "sources" : [
        "BufferedLoggingDestination.Tests.swift",
        "CapturingLoggingDestination.swift",
        "CustomFormatStyle.Tests.swift",
        "Log+Structured.Tests.swift",
        "Log+Timestamp.Tests.swift",
        "Log.Tests.swift",
        "MultiSessionLogger.Tests.swift",
        "SessionLogger.Tests.swift",
        "SwiftLogDestination.Tests.swift"
      ],
      "target_dependencies" : [
        "Broadcast"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Broadcast",
      "module_type" : "SwiftTarget",
      "name" : "Broadcast",
      "path" : "Sources/Broadcast",
      "product_dependencies" : [
        "Boutique",
        "Logging"
      ],
      "product_memberships" : [
        "Broadcast"
      ],
      "sources" : [
        "Components/FormatStyles/Log.Payload.FormatStyle.swift",
        "Components/FormatStyles/Log.Record.FormatStyle.CanonicalLogLine.swift",
        "Components/FormatStyles/Log.Record.FormatStyle.Default.swift",
        "Components/FormatStyles/Log.Record.FormatStyle.JSON.swift",
        "Components/FormatStyles/Log.Record.FormatStyle.TokenOptimized.swift",
        "Components/FormatStyles/Log.Record.FormatStyle.swift",
        "Components/Internal/Log.Payload.Value.FormatStyle.swift",
        "Components/Internal/Log.Record.CanonicalLogLineRepresentation.swift",
        "Components/Internal/Log.Record.JSONRepresentation.swift",
        "Components/Internal/Log.Record.KeyValueFormatStyle.swift",
        "Components/Internal/Log.Record.KeyValuePair.swift",
        "Components/Internal/Log.Record.TokenOptimizedRepresentation.swift",
        "Components/Log.Category.swift",
        "Components/Log.Level.swift",
        "Components/Log.Payload.swift",
        "Components/Log.Record.Formatter.swift",
        "Components/Log.Record.swift",
        "Components/Log.Signal.swift",
        "Components/Log.Timestamp.FormatStyle.swift",
        "Components/Log.Timestamp.swift",
        "Log/Log+Combined.swift",
        "Log/Log+DateProvider.swift",
        "Log/Log+Structured.swift",
        "Log/Log.swift",
        "Loggers/BufferedLoggingDestination.swift",
        "Loggers/ConsoleLogger.swift",
        "Loggers/LoggingDestination.swift",
        "Loggers/MultiSessionLogger.swift",
        "Loggers/SessionLogger.swift",
        "Loggers/SwiftLogDestination.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.1"
}
android-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:639806e3270a7d76362a869fc7a464db4368085eea7ecdf63d02ce60a0298950
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.1-latest
Done.