The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Kite, reference 5.0.0 (8055d5), with Swift 6.3 for Android on 19 Apr 2026 20:09:36 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/artemkalinovsky/Kite.git
Reference: 5.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/artemkalinovsky/Kite
 * tag               5.0.0      -> FETCH_HEAD
HEAD is now at 8055d53 Make MockURLHandlerStore synchronous with lock
Cloned https://github.com/artemkalinovsky/Kite.git
Revision (git rev-parse @):
8055d53c957aecad1b7763f2312ee8e593277f30
SUCCESS checkout https://github.com/artemkalinovsky/Kite.git at 5.0.0
========================================
Build
========================================
Selected platform:         android
Swift version:             6.3
Building package at path:  $PWD
https://github.com/artemkalinovsky/Kite.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:9008270ea37a55e78725e6225015adb5eff8582da520c5232bf0499f32c36dc4
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--4F562202D5529B1.txt
[3/19] Emitting module Kite
[4/21] Compiling Kite AuthRequestProtocol.swift
[5/21] Compiling Kite DeserializeableRequestProtocol.swift
[6/21] Compiling Kite AuthRequestProtocol+Extensions.swift
[7/21] Compiling Kite HTTPRequestProtocol+Extensions.swift
[8/21] Compiling Kite HTTPRequestProtocol.swift
[9/21] Compiling Kite XMLDeserialization.swift
[10/21] Compiling Kite JSONDecoder+Extensions.swift
[11/21] Compiling Kite XMLIndexer+Extensions.swift
[12/21] Compiling Kite JSONDeserializer.swift
/host/spi-builder-workspace/Sources/Kite/Deserializers/JSONDeserializer/JSONDeserializer.swift:48:48: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
46 |                 do {
47 |                     if path.isEmpty {
48 |                         return try jsonDecoder.decode(T.self, from: data)
   |                                                `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
49 |                     } else {
50 |                         return try jsonDecoder.decode(T.self, from: data, keyPath: path.joined(separator: "."))
/host/spi-builder-workspace/Sources/Kite/Deserializers/JSONDeserializer/JSONDeserializer.swift:68:48: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
66 |                 do {
67 |                     if path.isEmpty {
68 |                         return try jsonDecoder.decode([T].self, from: data)
   |                                                `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
69 |                     } else {
70 |                         return try jsonDecoder.decode([T].self, from: data, keyPath: path.joined(separator: "."))
/host/spi-builder-workspace/Sources/Kite/Deserializers/XMLDeserializer/XMLDeserializer.swift:49:36: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
47 |                 throw XMLDeserializerError.xmlDeserializationFailed("XML document contains no element nodes.")
48 |             }
49 |             return try rootElement.value()
   |                                    `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
50 |         }
51 |     }
/host/spi-builder-workspace/Sources/Kite/Deserializers/XMLDeserializer/XMLDeserializer.swift:57:38: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
55 |             transform: { xmlData in
56 |                 let xml = try XMLHash.lazy(xmlData)
57 |                 return try xml[path].value()
   |                                      `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
58 |             }
59 |         )
/host/spi-builder-workspace/Sources/Kite/Deserializers/XMLDeserializer/XMLDeserializer.swift:66:38: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
64 |             transform: { xmlData in
65 |                 let xml = try XMLHash.lazy(xmlData)
66 |                 return try xml[path].value()
   |                                      `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
67 |             }
68 |         )
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[13/21] Compiling Kite ResponseDataDeserializer.swift
/host/spi-builder-workspace/Sources/Kite/Deserializers/JSONDeserializer/JSONDeserializer.swift:48:48: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
46 |                 do {
47 |                     if path.isEmpty {
48 |                         return try jsonDecoder.decode(T.self, from: data)
   |                                                `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
49 |                     } else {
50 |                         return try jsonDecoder.decode(T.self, from: data, keyPath: path.joined(separator: "."))
/host/spi-builder-workspace/Sources/Kite/Deserializers/JSONDeserializer/JSONDeserializer.swift:68:48: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
66 |                 do {
67 |                     if path.isEmpty {
68 |                         return try jsonDecoder.decode([T].self, from: data)
   |                                                `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
69 |                     } else {
70 |                         return try jsonDecoder.decode([T].self, from: data, keyPath: path.joined(separator: "."))
/host/spi-builder-workspace/Sources/Kite/Deserializers/XMLDeserializer/XMLDeserializer.swift:49:36: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
47 |                 throw XMLDeserializerError.xmlDeserializationFailed("XML document contains no element nodes.")
48 |             }
49 |             return try rootElement.value()
   |                                    `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
50 |         }
51 |     }
/host/spi-builder-workspace/Sources/Kite/Deserializers/XMLDeserializer/XMLDeserializer.swift:57:38: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
55 |             transform: { xmlData in
56 |                 let xml = try XMLHash.lazy(xmlData)
57 |                 return try xml[path].value()
   |                                      `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
58 |             }
59 |         )
/host/spi-builder-workspace/Sources/Kite/Deserializers/XMLDeserializer/XMLDeserializer.swift:66:38: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
64 |             transform: { xmlData in
65 |                 let xml = try XMLHash.lazy(xmlData)
66 |                 return try xml[path].value()
   |                                      `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
67 |             }
68 |         )
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[14/21] Compiling Kite XMLDeserializer.swift
/host/spi-builder-workspace/Sources/Kite/Deserializers/JSONDeserializer/JSONDeserializer.swift:48:48: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
46 |                 do {
47 |                     if path.isEmpty {
48 |                         return try jsonDecoder.decode(T.self, from: data)
   |                                                `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
49 |                     } else {
50 |                         return try jsonDecoder.decode(T.self, from: data, keyPath: path.joined(separator: "."))
/host/spi-builder-workspace/Sources/Kite/Deserializers/JSONDeserializer/JSONDeserializer.swift:68:48: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
66 |                 do {
67 |                     if path.isEmpty {
68 |                         return try jsonDecoder.decode([T].self, from: data)
   |                                                `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
69 |                     } else {
70 |                         return try jsonDecoder.decode([T].self, from: data, keyPath: path.joined(separator: "."))
/host/spi-builder-workspace/Sources/Kite/Deserializers/XMLDeserializer/XMLDeserializer.swift:49:36: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
47 |                 throw XMLDeserializerError.xmlDeserializationFailed("XML document contains no element nodes.")
48 |             }
49 |             return try rootElement.value()
   |                                    `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
50 |         }
51 |     }
/host/spi-builder-workspace/Sources/Kite/Deserializers/XMLDeserializer/XMLDeserializer.swift:57:38: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
55 |             transform: { xmlData in
56 |                 let xml = try XMLHash.lazy(xmlData)
57 |                 return try xml[path].value()
   |                                      `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
58 |             }
59 |         )
/host/spi-builder-workspace/Sources/Kite/Deserializers/XMLDeserializer/XMLDeserializer.swift:66:38: warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
64 |             transform: { xmlData in
65 |                 let xml = try XMLHash.lazy(xmlData)
66 |                 return try xml[path].value()
   |                                      `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
67 |             }
68 |         )
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[15/21] Compiling Kite HTTPMethod.swift
[16/21] Compiling Kite MIMEType.swift
[17/21] Compiling Kite XMLHash.swift
[18/21] Compiling Kite XMLIndexer.swift
[19/21] Compiling Kite APIClient.swift
[20/21] Compiling Kite KeyPathWrapper.swift
[21/21] Compiling Kite UserInfoKeys.swift
Build complete! (21.74s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Kite",
  "name" : "Kite",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Kite",
      "targets" : [
        "Kite"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "6"
  ],
  "targets" : [
    {
      "c99name" : "KiteTests",
      "module_type" : "SwiftTarget",
      "name" : "KiteTests",
      "path" : "Tests/KiteTests",
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Tests/KiteTests/Stubs/BinaryStubs/swift_logo.png",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "APIClientTests/APIClientTests.swift",
        "JSONDeserializerTests/JSONDeserializerTests.swift",
        "MIMETypeTests/MIMETypeTests.swift",
        "Mocks/MockURLHandlerStore.swift",
        "Mocks/MockURLProtocol.swift",
        "Mocks/Models/TestPerson.swift",
        "Mocks/Requests/EmptyAuthRequest.swift",
        "Mocks/Requests/FetchRawDataAuthRequest.swift",
        "Mocks/Requests/FetchRawDataRequest.swift",
        "Mocks/Requests/FetchSingleTestPersonJSONRequest.swift",
        "Mocks/Requests/FetchSingleTestPersonXMLRequest.swift",
        "Mocks/Requests/ParameterizedGETRequest.swift",
        "Mocks/Requests/ParameterizedPOSTRequest.swift",
        "Mocks/Requests/SendMultipartFormDataRequest.swift",
        "Stubs/JSONStubs/JSONStubs.swift",
        "Stubs/XMLStubs/XMLStubs.swift",
        "XMLDeserializerTests/XMLDeserializerTests.swift"
      ],
      "target_dependencies" : [
        "Kite"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Kite",
      "module_type" : "SwiftTarget",
      "name" : "Kite",
      "path" : "Sources/Kite",
      "product_memberships" : [
        "Kite"
      ],
      "sources" : [
        "APIClient.swift",
        "Deserializers/JSONDeserializer/JSONDecoderKeypath/KeyPathWrapper.swift",
        "Deserializers/JSONDeserializer/JSONDecoderKeypath/UserInfoKeys.swift",
        "Deserializers/JSONDeserializer/JSONDeserializer.swift",
        "Deserializers/ResponseDataDeserializer.swift",
        "Deserializers/XMLDeserializer/XMLDeserializer.swift",
        "Extensions/AuthRequestProtocol+Extensions.swift",
        "Extensions/HTTPRequestProtocol+Extensions.swift",
        "Extensions/JSONDecoder+Extensions.swift",
        "Extensions/XMLIndexer+Extensions.swift",
        "HTTPMethod.swift",
        "MIMEType.swift",
        "Protocols/AuthRequestProtocol.swift",
        "Protocols/DeserializeableRequestProtocol.swift",
        "Protocols/HTTPRequestProtocol.swift",
        "XML/XMLDeserialization.swift",
        "XML/XMLHash.swift",
        "XML/XMLIndexer.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
android-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:9008270ea37a55e78725e6225015adb5eff8582da520c5232bf0499f32c36dc4
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest
Done.