Build Information
Successful build of GoogleAPITokenManager, reference v1.0.2 (846bc3), with Swift 6.4 for Android on 22 Sep 2026 22:50:17 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-3":/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.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ShenghaiWang/GoogleAPITokenManager.git
Reference: v1.0.2
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/ShenghaiWang/GoogleAPITokenManager
* tag v1.0.2 -> FETCH_HEAD
HEAD is now at 846bc31 Fix release build
Cloned https://github.com/ShenghaiWang/GoogleAPITokenManager.git
Revision (git rev-parse @):
846bc3191fdfcf147b9467a725b598187819934c
SUCCESS checkout https://github.com/ShenghaiWang/GoogleAPITokenManager.git at v1.0.2
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/ShenghaiWang/GoogleAPITokenManager.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-3":/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.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:abadcff584c273feba50641b454858d377ba30b35ea7287a94f45ebd8afd0ea0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Fetching https://github.com/vapor/jwt-kit.git
Fetching https://github.com/apple/swift-crypto.git
[1/18549] Fetching swift-crypto
[2784/28782] Fetching swift-crypto, jwt-kit
Fetched https://github.com/vapor/jwt-kit.git (0.96s)
[10944/18549] Fetching swift-crypto
Fetched https://github.com/apple/swift-crypto.git (1.23s)
Computing version for https://github.com/vapor/jwt-kit.git
Computed https://github.com/vapor/jwt-kit.git at 4.13.5 (2.37s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 3.15.1 (0.27s)
Fetching https://github.com/apple/swift-asn1.git
[1/1983] Fetching swift-asn1
Fetched https://github.com/apple/swift-asn1.git (0.48s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (1.68s)
Creating working copy for https://github.com/vapor/jwt-kit.git
Working copy of https://github.com/vapor/jwt-kit.git resolved at 4.13.5
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.7.3
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 3.15.1
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 245]
[Planning deferred tasks]
[Starting]
[53 / 865] CJWTKitBoringSSL
[57 / 865] CJWTKitBoringSSL
[60 / 865] CJWTKitBoringSSL
[64 / 865] CJWTKitBoringSSL
[70 / 865] CJWTKitBoringSSL
[77 / 865] CJWTKitBoringSSL
[82 / 865] CJWTKitBoringSSL
[88 / 865] CJWTKitBoringSSL
[93 / 865] CJWTKitBoringSSL
[108 / 865] CJWTKitBoringSSL
[111 / 865] CJWTKitBoringSSL
[120 / 865] CJWTKitBoringSSL
[127 / 865] CJWTKitBoringSSL
[133 / 865] CJWTKitBoringSSL
[143 / 865] CJWTKitBoringSSL
[147 / 865] CJWTKitBoringSSL
[154 / 865] CJWTKitBoringSSL
[162 / 865] CJWTKitBoringSSL
[179 / 865] CJWTKitBoringSSL
[196 / 865] CJWTKitBoringSSL
[207 / 865] CJWTKitBoringSSL
[219 / 865] CJWTKitBoringSSL
[227 / 865] CJWTKitBoringSSL
[234 / 865] CJWTKitBoringSSL
[244 / 865] CJWTKitBoringSSL
[252 / 865] CJWTKitBoringSSL
[259 / 865] CJWTKitBoringSSL
[266 / 865] CJWTKitBoringSSL
[275 / 865] CJWTKitBoringSSL
[288 / 865] CJWTKitBoringSSL
[297 / 865] CJWTKitBoringSSL
[314 / 865] CJWTKitBoringSSL
[327 / 865] CJWTKitBoringSSL
[337 / 865] CJWTKitBoringSSL
[350 / 865] CJWTKitBoringSSL
[359 / 865] CJWTKitBoringSSL
[370 / 865] CJWTKitBoringSSL
[379 / 865] CJWTKitBoringSSL
[390 / 865] CJWTKitBoringSSL
[401 / 865] CJWTKitBoringSSL
[413 / 865] CJWTKitBoringSSL
[422 / 865] CJWTKitBoringSSL
[431 / 865] CJWTKitBoringSSL
[443 / 865] CJWTKitBoringSSL
[457 / 865] CJWTKitBoringSSL
[463 / 865] CJWTKitBoringSSL
[469 / 865] CJWTKitBoringSSL
[479 / 865] CCryptoBoringSSL
[483 / 865] CCryptoBoringSSL
[484 / 865] CCryptoBoringSSL
[488 / 865] CCryptoBoringSSL
[490 / 865] CCryptoBoringSSL
[493 / 865] CCryptoBoringSSL
[495 / 865] CCryptoBoringSSL
[497 / 865] CCryptoBoringSSL
[498 / 865] CCryptoBoringSSL
[501 / 865] CCryptoBoringSSL
[504 / 865] CCryptoBoringSSL
[505 / 865] CCryptoBoringSSL
[507 / 865] CCryptoBoringSSL
[509 / 865] CCryptoBoringSSL
[512 / 865] CCryptoBoringSSL
[515 / 865] CCryptoBoringSSL
[520 / 865] CCryptoBoringSSL
[521 / 865] CCryptoBoringSSL
[522 / 865] CCryptoBoringSSL
[523 / 865] CCryptoBoringSSL
[525 / 865] CCryptoBoringSSL
[526 / 865] CCryptoBoringSSL
[528 / 865] CCryptoBoringSSL
[531 / 865] CCryptoBoringSSL
[532 / 865] CCryptoBoringSSL
[533 / 865] CCryptoBoringSSL
[535 / 865] CCryptoBoringSSL
[536 / 865] CCryptoBoringSSL
[537 / 865] CCryptoBoringSSL
[538 / 865] CCryptoBoringSSL
[539 / 865] CCryptoBoringSSL
[541 / 865] CCryptoBoringSSL
[544 / 865] CCryptoBoringSSL
[546 / 865] CCryptoBoringSSL
[548 / 865] CCryptoBoringSSL
[550 / 865] CCryptoBoringSSL
[552 / 865] CCryptoBoringSSL
[556 / 865] CCryptoBoringSSL
[557 / 865] CCryptoBoringSSL
[559 / 865] CCryptoBoringSSL
[562 / 865] CCryptoBoringSSL
[563 / 865] CCryptoBoringSSL
[565 / 865] CCryptoBoringSSL
[566 / 865] CCryptoBoringSSL
[568 / 865] CCryptoBoringSSL
[572 / 865] CCryptoBoringSSL
[578 / 865] CCryptoBoringSSL
[584 / 865] CCryptoBoringSSL
[591 / 865] CCryptoBoringSSL
[597 / 865] CCryptoBoringSSL
[603 / 865] CCryptoBoringSSL
[605 / 865] CCryptoBoringSSL
[607 / 865] CCryptoBoringSSL
[610 / 865] CCryptoBoringSSL
[611 / 865] CCryptoBoringSSL
[616 / 865] CCryptoBoringSSL
[617 / 865] CCryptoBoringSSL
[619 / 865] CCryptoBoringSSL
[622 / 865] CCryptoBoringSSL
[623 / 865] CCryptoBoringSSL
[624 / 865] CCryptoBoringSSL
[626 / 865] CCryptoBoringSSL
[628 / 865] CCryptoBoringSSL
[629 / 865] CCryptoBoringSSL
[630 / 865] CCryptoBoringSSL
[631 / 865] CCryptoBoringSSL
[632 / 865] CCryptoBoringSSL
[634 / 865] CCryptoBoringSSL
[636 / 865] CCryptoBoringSSL
[639 / 865] CCryptoBoringSSL
[640 / 865] CCryptoBoringSSL
[642 / 865] CCryptoBoringSSL
[644 / 865] CCryptoBoringSSL
[645 / 865] CCryptoBoringSSL
[647 / 865] CCryptoBoringSSL
[650 / 865] CCryptoBoringSSL
[652 / 865] CCryptoBoringSSL
[657 / 865] CCryptoBoringSSL
[660 / 865] CCryptoBoringSSL
[661 / 865] CCryptoBoringSSL
[663 / 865] CCryptoBoringSSL
[664 / 865] CCryptoBoringSSL
[665 / 865] CCryptoBoringSSL
[668 / 865] CCryptoBoringSSL
[672 / 865] CCryptoBoringSSL
[673 / 865] CCryptoBoringSSL
[675 / 865] CCryptoBoringSSL
[678 / 865] CCryptoBoringSSL
[683 / 865] CCryptoBoringSSL
[690 / 865] CCryptoBoringSSL
[699 / 865] CCryptoBoringSSL
[703 / 865] CCryptoBoringSSL
[704 / 865] CCryptoBoringSSL
[706 / 865] CCryptoBoringSSL
[708 / 865] CCryptoBoringSSL
[713 / 865] CCryptoBoringSSL
[715 / 865] CCryptoBoringSSL
[716 / 865] CCryptoBoringSSL
[718 / 865] CCryptoBoringSSL
[720 / 865] CCryptoBoringSSL
[721 / 865] CCryptoBoringSSL
[722 / 865] CCryptoBoringSSL
[726 / 865] CCryptoBoringSSL
[727 / 865] CCryptoBoringSSL
[728 / 865] CCryptoBoringSSL
[730 / 865] CCryptoBoringSSL
[731 / 865] CCryptoBoringSSL
[733 / 865] CCryptoBoringSSL
[734 / 865] CCryptoBoringSSL
[736 / 865] CCryptoBoringSSL
[738 / 865] CCryptoBoringSSL
[741 / 865] CCryptoBoringSSL
[742 / 865] CCryptoBoringSSL
[744 / 865] CCryptoBoringSSL
[748 / 865] CCryptoBoringSSL
[749 / 865] CCryptoBoringSSL
[750 / 865] CCryptoBoringSSL
[755 / 865] CCryptoBoringSSL
[760 / 865] CCryptoBoringSSL
[765 / 865] CCryptoBoringSSL
[769 / 865] CCryptoBoringSSL
[772 / 865] CCryptoBoringSSL
[774 / 865] CCryptoBoringSSL
[778 / 865] CCryptoBoringSSL
[782 / 865] CCryptoBoringSSL
[784 / 865] CCryptoBoringSSL
[785 / 865] CCryptoBoringSSL
[788 / 865] CCryptoBoringSSL
[791 / 865] CCryptoBoringSSL
[794 / 865] CCryptoBoringSSL
[797 / 865] CCryptoBoringSSL
[800 / 865] CCryptoBoringSSL
[807 / 865] CCryptoBoringSSL
[814 / 865] CCryptoBoringSSL
[819 / 865] CCryptoBoringSSL
[821 / 865] CCryptoBoringSSL
[822 / 865] CCryptoBoringSSL
[823 / 865] CCryptoBoringSSL
[824 / 865] CCryptoBoringSSL
[826 / 865] CCryptoBoringSSL
[828 / 865] CCryptoBoringSSL
[829 / 865] CCryptoBoringSSL
[830 / 865] CCryptoBoringSSL
[833 / 865] CCryptoBoringSSL
[836 / 874] CryptoBoringWrapper
[838 / 874] CryptoBoringWrapper
[839 / 874] CryptoBoringWrapper
[842 / 874] CryptoBoringWrapper
[842 / 874] CCryptoBoringSSL
[849 / 874] CryptoBoringWrapper
[850 / 875] CCryptoBoringSSLShims
[856 / 884] Crypto
[860 / 884] Crypto
[865 / 884] Crypto-product
[867 / 886] JWTKit
[870 / 895] JWTKit
[871 / 895] JWTKit
[872 / 895] JWTKit
[873 / 895] JWTKit
[874 / 895] JWTKit
[881 / 895] JWTKit-product
[883 / 895] CryptoBoringWrapper
[887 / 905] GoogleAPITokenManager
[888 / 905] GoogleAPITokenManager
[892 / 906] GoogleAPITokenManager
[893 / 907] JWTKit
[901 / 907] JWTKit
[903 / 907] Crypto
[904 / 907] GoogleAPITokenManager
[907 / 908]
Build complete! (51.01 secs)
Build complete.
{
"dependencies" : [
{
"identity" : "jwt-kit",
"requirement" : {
"range" : [
{
"lower_bound" : "4.0.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/jwt-kit.git"
},
{
"identity" : "swift-crypto",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-crypto.git"
}
],
"manifest_display_name" : "GoogleAPITokenManager",
"name" : "GoogleAPITokenManager",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "GoogleAPITokenManager",
"targets" : [
"GoogleAPITokenManager"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "GoogleAPITokenManagerTests",
"module_type" : "SwiftTarget",
"name" : "GoogleAPITokenManagerTests",
"path" : "Tests/GoogleAPITokenManagerTests",
"sources" : [
"GooglAPITokenManagerTests.swift"
],
"target_dependencies" : [
"GoogleAPITokenManager"
],
"type" : "test"
},
{
"c99name" : "GoogleAPITokenManager",
"module_type" : "SwiftTarget",
"name" : "GoogleAPITokenManager",
"path" : "Sources/GoogleAPITokenManager",
"product_dependencies" : [
"JWTKit",
"Crypto"
],
"product_memberships" : [
"GoogleAPITokenManager"
],
"sources" : [
"Clients/URLSessionHTTPClient.swift",
"ConsoleHTTPLogger.swift",
"InMemoeryTokenStorage.swift",
"JWTGenerator.swift",
"KeychainTokenStorage.swift",
"Models/AuthResult.swift",
"Models/Error.swift",
"Models/GoogleServiceAccountPayload.swift",
"Models/HTTPMethod.swift",
"Models/HTTPRequest.swift",
"Models/PKCEParameters.swift",
"Models/ScopeClaim.swift",
"Models/ServiceAccountKey.swift",
"Models/TokenResponse.swift",
"Protocols/HTTPClient.swift",
"Protocols/HTTPLogger.swift",
"Protocols/TokenManager.swift",
"Protocols/TokenStorage.swift",
"Protocols/URLSessionProtocol.swift",
"TokenManager/APIKeyTokenManager.swift",
"TokenManager/GoogleOAuth2TokenManager.swift",
"TokenManager/ServiceAccountTokenManager.swift",
"Utils/CryptoUtils.swift"
],
"type" : "library"
}
],
"tools_version" : "6.1"
}
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:abadcff584c273feba50641b454858d377ba30b35ea7287a94f45ebd8afd0ea0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Done.