The Swift Package Index logo.Swift Package Index

Build Information

Successful build of audd-swift, reference v1.5.21 (ee2bc4), with Swift 6.4 for macOS (SPM) on 14 Oct 2026 06:40:04 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/AudDMusic/audd-swift.git
Reference: v1.5.21
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/AudDMusic/audd-swift
 * tag               v1.5.21    -> FETCH_HEAD
HEAD is now at ee2bc43 Release v1.5.21
Cloned https://github.com/AudDMusic/audd-swift.git
Revision (git rev-parse @):
ee2bc4337b498cb8c49b4c6f15bf7ab5c7b46c70
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/AudDMusic/audd-swift.git at v1.5.21
Fetching https://github.com/apple/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin (1.36s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.5.0 (11.37s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3838] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (1.33s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.09s)
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/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
========================================
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",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "audd-swift",
      "name": "audd-swift",
      "url": "https://github.com/AudDMusic/audd-swift.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/audd-swift",
      "traits": [
        "default"
      ],
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/AudDMusic/audd-swift.git
[1/360] Fetching audd-swift
Fetched https://github.com/AudDMusic/audd-swift.git (0.90s)
Creating working copy for https://github.com/AudDMusic/audd-swift.git
Working copy of https://github.com/AudDMusic/audd-swift.git resolved at v1.5.21 (ee2bc43)
warning: '.resolve-product-dependencies': dependency 'audd-swift' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/AudDMusic/audd-swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 95]
[Planning deferred tasks]
[31 / 40]
[32 / 41] AudD
[42 / 88]
[47 / 88]
[51 / 88]
[52 / 88]
[56 / 88]
[58 / 88]
[61 / 88]
[65 / 88]
[67 / 88]
[68 / 88]
[79 / 88] AudD
[80 / 88] AudD
[85 / 88] AudD
Build complete! (9.07 sec)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "audd-swift",
  "name" : "audd-swift",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "AudD",
      "targets" : [
        "AudD"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AudDTests",
      "module_type" : "SwiftTarget",
      "name" : "AudDTests",
      "path" : "Tests/AudDTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AudDTests/Fixtures",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "ContractTests.swift",
        "CustomCatalogTests.swift",
        "EnvironmentTokenTests.swift",
        "EventHookTests.swift",
        "LongpollConsumerTests.swift",
        "MockURLProtocol.swift",
        "RecognitionTests.swift",
        "RetryTests.swift",
        "SmokeTests.swift",
        "SourceTests.swift",
        "StreamingHelpersTests.swift",
        "StreamsTests.swift"
      ],
      "target_dependencies" : [
        "AudD"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AudD",
      "module_type" : "SwiftTarget",
      "name" : "AudD",
      "path" : "Sources/AudD",
      "product_memberships" : [
        "AudD"
      ],
      "sources" : [
        "Advanced.swift",
        "AnyCodable.swift",
        "AudD.swift",
        "CustomCatalog.swift",
        "Errors.swift",
        "HTTPClient.swift",
        "Logger.swift",
        "LongpollConsumer.swift",
        "MD5.swift",
        "Models.swift",
        "RetryPolicy.swift",
        "Source.swift",
        "Streams.swift",
        "UserAgent.swift",
        "Version.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/auddmusic/audd-swift/v1.5.21
Repository:               AudDMusic/audd-swift
Swift version used:       6.4
        .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.3.0"),
Target:                   AudD
Extracting symbol information for 'AudD'...
Finished extracting symbol information for 'AudD'. (1.73s)
Building documentation for 'AudD'...
warning: 'recognize(_:return:market:)-7jkwp' doesn't exist at '/AudD/AudD'
  --> Articles/Recognition.md:9:10-9:43
7  | The SDK exposes two recognition endpoints:
8  |
9  + - ``AudD/recognize(_:return:market:)-7jkwp`` — the standard endpoint. The first
   |          ╰─suggestion: Replace 'recognize(_:return:market:)-7jkwp' with 'recognize(_:returnMetadata:market:extraParameters:)'
10 |   12 seconds of audio are analyzed; short clips of YouTube/Spotify/etc. by
11 |   URL also work.
warning: 'recognizeEnterprise(_:return:skip:every:limit:skipFirstSeconds:useTimecode:accurateOffsets:)' doesn't exist at '/AudD/AudD'
  --> Articles/Recognition.md:12:10-12:102
10 |   12 seconds of audio are analyzed; short clips of YouTube/Spotify/etc. by
11 |   URL also work.
12 + - ``AudD/recognizeEnterprise(_:return:skip:every:limit:skipFirstSeconds:useTimecode:accurateOffsets:)``
   |          ╰─suggestion: Replace 'recognizeEnterprise(_:return:skip:every:limit:skipFirstSeconds:useTimecode:accurateOffsets:)' with 'recognizeEnterprise(_:returnMetadata:skip:every:limit:skipFirstSeconds:useTimecode:accurateOffsets:extraParameters:)'
13 |   — the enterprise endpoint. Scans the whole file; chunks the input server-side and
14 |   returns one or more matches. Default `limit: 1`.
warning: Article 'Streams.md' (Streams) would override structure 'Streams'. [ArticleCollideWithSymbol]
DocC computes unique URLs for symbols, even if they have the same name, but doesn't account for article filenames that collide with symbols because of a bug.
Until rdar://79745455 (issue #593) is fixed, DocC favors the symbol in this collision and drops the article to have deterministic behavior.
--> Articles/Streams.md
Rename 'Streams.md'
warning: 'recognize(_:return:market:)-7jkwp' doesn't exist at '/AudD/AudD'
  --> AudD.md:36:30-36:63
34 | ### Capabilities
35 |
36 + - **Recognition** — ``AudD/recognize(_:return:market:)-7jkwp`` analyzes the
   |                              ╰─suggestion: Replace 'recognize(_:return:market:)-7jkwp' with 'recognize(_:returnMetadata:market:extraParameters:)'
37 |   first 12 seconds of audio; ``AudD/recognizeEnterprise(_:return:skip:every:limit:skipFirstSeconds:useTimecode:accurateOffsets:)``
38 |   scans the whole file.
warning: 'recognizeEnterprise(_:return:skip:every:limit:skipFirstSeconds:useTimecode:accurateOffsets:)' doesn't exist at '/AudD/AudD'
  --> AudD.md:37:37-37:129
35 |
36 | - **Recognition** — ``AudD/recognize(_:return:market:)-7jkwp`` analyzes the
37 +   first 12 seconds of audio; ``AudD/recognizeEnterprise(_:return:skip:every:limit:skipFirstSeconds:useTimecode:accurateOffsets:)``
   |                                     ╰─suggestion: Replace 'recognizeEnterprise(_:return:skip:every:limit:skipFirstSeconds:useTimecode:accurateOffsets:)' with 'recognizeEnterprise(_:returnMetadata:skip:every:limit:skipFirstSeconds:useTimecode:accurateOffsets:extraParameters:)'
38 |   scans the whole file.
39 | - **Custom catalog** — ``CustomCatalog/add(audioID:source:)`` adds songs to your
warning: 'add(url:radioID:callbacks:)' doesn't exist at '/AudD/Streams'
  --> AudD.md:43:13-43:40
41 |   for music recognition.
42 | - **Streams** — subscribe live audio streams and receive recognition events:
43 +   ``Streams/add(url:radioID:callbacks:)``, ``Streams/longpoll(category:options:)``,
   |             ╰─suggestion: Replace 'add(url:radioID:callbacks:)' with 'add(url:radioID:callbacks:extraParameters:)'
44 |   ``Streams/parseCallback(_:)``.
45 | - **Lyrics** — ``Advanced/findLyrics(_:)``.
warning: Parameter 'maxRetries' is missing documentation
   --> ../AudD.swift:129:58-129:58
127 |     ///   leaves, `.response` once a response is decoded, `.exception` if the
128 |     ///   request failed (network, decoding, or API error). Hook exceptions
129 +     ///   are swallowed; the api_token is never included.
130 |     public init(
131 |         apiToken: String? = nil,
warning: Parameter 'urlSession' is missing documentation
   --> ../AudD.swift:129:58-129:58
127 |     ///   leaves, `.response` once a response is decoded, `.exception` if the
128 |     ///   request failed (network, decoding, or API error). Hook exceptions
129 +     ///   are swallowed; the api_token is never included.
130 |     public init(
131 |         apiToken: String? = nil,
warning: Parameter 'apiToken' is missing documentation
   --> ../AudD.swift:129:58-129:58
127 |     ///   leaves, `.response` once a response is decoded, `.exception` if the
128 |     ///   request failed (network, decoding, or API error). Hook exceptions
129 +     ///   are swallowed; the api_token is never included.
130 |     public init(
131 |         apiToken: String? = nil,
warning: Parameter 'backoffFactor' is missing documentation
   --> ../AudD.swift:129:58-129:58
127 |     ///   leaves, `.response` once a response is decoded, `.exception` if the
128 |     ///   request failed (network, decoding, or API error). Hook exceptions
129 +     ///   are swallowed; the api_token is never included.
130 |     public init(
131 |         apiToken: String? = nil,
warning: Parameter 'enterpriseBase' is missing documentation
   --> ../AudD.swift:129:58-129:58
127 |     ///   leaves, `.response` once a response is decoded, `.exception` if the
128 |     ///   request failed (network, decoding, or API error). Hook exceptions
129 +     ///   are swallowed; the api_token is never included.
130 |     public init(
131 |         apiToken: String? = nil,
warning: Parameter 'enterpriseURLSession' is missing documentation
   --> ../AudD.swift:129:58-129:58
127 |     ///   leaves, `.response` once a response is decoded, `.exception` if the
128 |     ///   request failed (network, decoding, or API error). Hook exceptions
129 +     ///   are swallowed; the api_token is never included.
130 |     public init(
131 |         apiToken: String? = nil,
warning: Parameter 'apiBase' is missing documentation
   --> ../AudD.swift:129:58-129:58
127 |     ///   leaves, `.response` once a response is decoded, `.exception` if the
128 |     ///   request failed (network, decoding, or API error). Hook exceptions
129 +     ///   are swallowed; the api_token is never included.
130 |     public init(
131 |         apiToken: String? = nil,
warning: Parameter 'returnMetadata' is missing documentation
   --> ../AudD.swift:332:43-332:43
330 |     ///     `true`; pass `false` to opt out.
331 |     ///   - extraParameters: additional form fields the typed params don't cover.
332 +     ///     Typed params win on collision.
333 |     public func recognizeEnterprise(
334 |         _ source: Source,
warning: Parameter 'useTimecode' is missing documentation
   --> ../AudD.swift:332:43-332:43
330 |     ///     `true`; pass `false` to opt out.
331 |     ///   - extraParameters: additional form fields the typed params don't cover.
332 +     ///     Typed params win on collision.
333 |     public func recognizeEnterprise(
334 |         _ source: Source,
warning: Parameter 'skipFirstSeconds' is missing documentation
   --> ../AudD.swift:332:43-332:43
330 |     ///     `true`; pass `false` to opt out.
331 |     ///   - extraParameters: additional form fields the typed params don't cover.
332 +     ///     Typed params win on collision.
333 |     public func recognizeEnterprise(
334 |         _ source: Source,
warning: Parameter 'limit' is missing documentation
   --> ../AudD.swift:332:43-332:43
330 |     ///     `true`; pass `false` to opt out.
331 |     ///   - extraParameters: additional form fields the typed params don't cover.
332 +     ///     Typed params win on collision.
333 |     public func recognizeEnterprise(
334 |         _ source: Source,
warning: Parameter 'source' is missing documentation
   --> ../AudD.swift:332:43-332:43
330 |     ///     `true`; pass `false` to opt out.
331 |     ///   - extraParameters: additional form fields the typed params don't cover.
332 +     ///     Typed params win on collision.
333 |     public func recognizeEnterprise(
334 |         _ source: Source,
warning: Parameter 'every' is missing documentation
   --> ../AudD.swift:332:43-332:43
330 |     ///     `true`; pass `false` to opt out.
331 |     ///   - extraParameters: additional form fields the typed params don't cover.
332 +     ///     Typed params win on collision.
333 |     public func recognizeEnterprise(
334 |         _ source: Source,
warning: Parameter 'skip' is missing documentation
   --> ../AudD.swift:332:43-332:43
330 |     ///     `true`; pass `false` to opt out.
331 |     ///   - extraParameters: additional form fields the typed params don't cover.
332 +     ///     Typed params win on collision.
333 |     public func recognizeEnterprise(
334 |         _ source: Source,
warning: Parameter 'url' is missing documentation
  --> ../Streams.swift:78:56-78:56
76 |     ///
77 |     /// - Parameter extraParameters: additional form fields the typed params don't
   |         ╰─suggestion: Document 'url' parameter
78 +     ///   cover. Typed params (`url`) win on collision.
79 |     public func setCallbackURL(
80 |         _ url: String,
warning: Parameter 'returnMetadata' is missing documentation
  --> ../Streams.swift:78:56-78:56
76 |     ///
77 |     /// - Parameter extraParameters: additional form fields the typed params don't
   |         ╰─suggestion: Document 'returnMetadata' parameter
78 +     ///   cover. Typed params (`url`) win on collision.
79 |     public func setCallbackURL(
80 |         _ url: String,
warning: Parameter 'url' is missing documentation
   --> ../Streams.swift:102:81-102:81
100 |     ///
101 |     /// - Parameter extraParameters: additional form fields the typed params don't
    |         ╰─suggestion: Document 'url' parameter
102 +     ///   cover. Typed params (`url`, `radio_id`, `callbacks`) win on collision.
103 |     public func add(
104 |         url: String,
warning: Parameter 'callbacks' is missing documentation
   --> ../Streams.swift:102:81-102:81
100 |     ///
101 |     /// - Parameter extraParameters: additional form fields the typed params don't
    |         ╰─suggestion: Document 'callbacks' parameter
102 +     ///   cover. Typed params (`url`, `radio_id`, `callbacks`) win on collision.
103 |     public func add(
104 |         url: String,
warning: Parameter 'radioID' is missing documentation
   --> ../Streams.swift:102:81-102:81
100 |     ///
101 |     /// - Parameter extraParameters: additional form fields the typed params don't
    |         ╰─suggestion: Document 'radioID' parameter
102 +     ///   cover. Typed params (`url`, `radio_id`, `callbacks`) win on collision.
103 |     public func add(
104 |         url: String,
warning: 'add(url:radioID:callbacks:)' doesn't exist at '/AudD/Streams/longpoll(radioID:options:)'
   --> ../Streams.swift:203:62-203:89
201 |     ///
202 |     /// - Parameters:
203 +     ///   - radioID: the stream's radio_id (as returned by ``add(url:radioID:callbacks:)``).
204 |     ///   - options: subscription options. Defaults to "start from now, 50s
205 |     ///     timeout, preflight on".
Finished building documentation for 'AudD' (0.26s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/auddmusic/audd-swift/v1.5.21
Building for debugging...
[Planning deferred tasks]
[20 / 43] Snippets
[31 / 58] SymbolKit
[35 / 58] Snippets
[52 / 59] SymbolKit
[56 / 63] SymbolKit
[58 / 63] snippet-extract-product
[59 / 63] snippet-extract-product
[61 / 63] snippet-extract-product
Build complete! (2.21 sec)
Building for debugging...
[Planning deferred tasks]
[2 / 10]
[3 / 11] AudD
[14 / 22] AudD
[16 / 18] AudD
Build complete! (1.54 sec)
     742
5	/Users/admin/builder/spi-builder-workspace/.docs/auddmusic/audd-swift/v1.5.21
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/auddmusic/audd-swift/v1.5.21
File count: 742
Doc size:   5.0MB
Preparing doc bundle ...
Using presigned URL upload - AWS credentials not required
Uploading -auddmusic-audd-swift-v1.5.21-22ccc5e3.zip to presigned URL
Starting upload of 1166114 bytes...
Upload completed successfully
Done.