Build Information
Successful build of swift-spyable, reference 0.9.0 (5ee55d), with Swift 6.4 for Android on 22 Sep 2026 13:54:41 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344847-0":/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/Matejkob/swift-spyable.git
Reference: 0.9.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/Matejkob/swift-spyable
* tag 0.9.0 -> FETCH_HEAD
HEAD is now at 5ee55d3 Merge pull request #143 from Matejkob/create-pull-request/patch
Cloned https://github.com/Matejkob/swift-spyable.git
Revision (git rev-parse @):
5ee55d370fcbd1c4f5f29932876799c16e9647c4
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/Matejkob/swift-spyable.git at 0.9.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/Matejkob/swift-spyable.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344847-0":/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/swiftlang/swift-syntax
[1/80003] Fetching swift-syntax
Fetched https://github.com/swiftlang/swift-syntax (2.99s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 601.0.1 (4.18s)
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 601.0.1
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 562]
[Planning deferred tasks]
[30 / 236] SwiftSyntaxMacros
[135 / 248] _SwiftSyntaxCShims
[153 / 258] SwiftSyntax
[159 / 260] SwiftSyntax601
[161 / 260] SwiftSyntax
[166 / 262] SwiftSyntax600
[169 / 262] SwiftSyntax
[182 / 290] SwiftParser
[184 / 290] SwiftBasicFormat
[191 / 290] SwiftBasicFormat
[196 / 290] SwiftParser
[197 / 290] SwiftParser
[198 / 290] SwiftParser
[200 / 290] SwiftParser
[205 / 290] SwiftParser
[206 / 290] SwiftDiagnostics
[207 / 290] SwiftOperators
[208 / 290] SwiftOperators
[211 / 290] SwiftDiagnostics
[212 / 290] SwiftDiagnostics
[214 / 290] SwiftParserDiagnostics
[219 / 291]
[221 / 301] SwiftBasicFormat
[223 / 301] SwiftParserDiagnostics
[225 / 303] SwiftParserDiagnostics
[226 / 303] SwiftParserDiagnostics
[227 / 303] SwiftParserDiagnostics
[233 / 303] SwiftParserDiagnostics
[235 / 303] SwiftSyntaxBuilder
[242 / 315] SwiftSyntaxBuilder
[243 / 323] SwiftSyntaxBuilder
[245 / 323] SwiftSyntaxBuilder
[247 / 323] SwiftSyntax
[254 / 323] SwiftSyntaxBuilder
[261 / 323] SwiftSyntaxBuilder
[263 / 323] SwiftSyntaxMacros
[266 / 323] SwiftOperators
[268 / 323] SwiftOperators
[268 / 323]
[272 / 333] SwiftSyntaxMacros
[277 / 334] SwiftSyntaxMacros
[285 / 335]
[293 / 346] SwiftSyntaxMacros
[294 / 347] SwiftSyntaxMacroExpansion
[298 / 347] SwiftSyntaxMacroExpansion
[312 / 357] SwiftCompilerPluginMessageHandling
[313 / 357] SwiftCompilerPluginMessageHandling
[315 / 357] SwiftCompilerPluginMessageHandling
[324 / 360] SwiftCompilerPlugin
[329 / 360] SwiftCompilerPlugin
[331 / 361] SwiftSyntaxMacroExpansion
[333 / 362] SwiftCompilerPluginMessageHandling
[335 / 363] SwiftSyntax
[338 / 364] SwiftSyntax
[345 / 364] SwiftSyntaxMacros
[353 / 365] SpyableMacro
[362 / 374] SpyableMacro
[363 / 374] SpyableMacro
/host/spi-builder-workspace/Sources/SpyableMacro/Extensions/TypeSyntax+Extensions.swift:137:32: [1;33mwarning: [1;39m'init(leadingTrivia:_:argument:_:trailingComma:_:trailingTrivia:)' is deprecated: use GenericArgumentSyntax.Argument for 'argument'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m135 |[0;0m let newArgument: TypeSyntax = argumentElement.argument.erasingGenericTypes(genericTypes)
[0;36m136 |[0;0m #endif
[0;36m137 |[0;0m let newArgumentElement = GenericArgumentSyntax(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'init(leadingTrivia:_:argument:_:trailingComma:_:trailingTrivia:)' is deprecated: use GenericArgumentSyntax.Argument for 'argument'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m138 |[0;0m argument: newArgument,
[0;36m139 |[0;0m trailingComma: argumentElement.trailingComma
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/ClosureFactory.swift:49:29: [1;33mwarning: [1;39m'init(leadingTrivia:_:asyncSpecifier:_:throwsSpecifier:_:trailingTrivia:)' is deprecated: use throwsClause instead of throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m47 |[0;0m }
[0;36m48 |[0;0m },
[0;36m49 |[0;0m effectSpecifiers: TypeEffectSpecifiersSyntax(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'init(leadingTrivia:_:asyncSpecifier:_:throwsSpecifier:_:trailingTrivia:)' is deprecated: use throwsClause instead of throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m50 |[0;0m asyncSpecifier: functionSignature.effectSpecifiers?.asyncSpecifier,
[0;36m51 |[0;0m throwsSpecifier: functionSignature.effectSpecifiers?.throwsSpecifier
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/ClosureFactory.swift:51:66: [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m49 |[0;0m effectSpecifiers: TypeEffectSpecifiersSyntax(
[0;36m50 |[0;0m asyncSpecifier: functionSignature.effectSpecifiers?.asyncSpecifier,
[0;36m51 |[0;0m throwsSpecifier: functionSignature.effectSpecifiers?.throwsSpecifier
[0;36m|[0;0m `- [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m52 |[0;0m ),
[0;36m53 |[0;0m returnClause: returnClause
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/ClosureFactory.swift:169:44: [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m167 |[0;0m }
[0;36m168 |[0;0m
[0;36m169 |[0;0m if functionSignature.effectSpecifiers?.throwsSpecifier != nil {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m170 |[0;0m expression = TryExprSyntax(expression: expression)
[0;36m171 |[0;0m }
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/ClosureFactory.swift:192:22: [1;33mwarning: [1;39m'specifier' is deprecated: Access the specifiers list instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m190 |[0;0m fileprivate var isInoutParameter: Bool {
[0;36m191 |[0;0m if let attributedType = self.type.as(AttributedTypeSyntax.self),
[0;36m192 |[0;0m attributedType.specifier?.text == TokenSyntax.keyword(.inout).text
[0;36m|[0;0m `- [1;33mwarning: [1;39m'specifier' is deprecated: Access the specifiers list instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m193 |[0;0m {
[0;36m194 |[0;0m return true
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/FunctionImplementationFactory.swift:90:66: [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m88 |[0;0m }
[0;36m89 |[0;0m
[0;36m90 |[0;0m if protocolFunctionDeclaration.signature.effectSpecifiers?.throwsSpecifier != nil {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m91 |[0;0m throwableErrorFactory.throwErrorExpression(variablePrefix: variablePrefix)
[0;36m92 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/SpyFactory.swift:161:62: [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m159 |[0;0m }
[0;36m160 |[0;0m
[0;36m161 |[0;0m if functionDeclaration.signature.effectSpecifiers?.throwsSpecifier != nil {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'throwsSpecifier' is deprecated: use throwsClause.throwsSpecifier[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m162 |[0;0m try throwableErrorFactory.variableDeclaration(variablePrefix: variablePrefix)
[0;36m163 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/host/spi-builder-workspace/Sources/SpyableMacro/Factories/VariablesImplementationFactory.swift:71:12: [1;33mwarning: [1;39mcode after 'throw' will never be executed[0;0m
[0;36m69 |[0;0m try underlyingVariableDeclaration(binding: binding)
[0;36m70 |[0;0m }
[0;36m71 |[0;0m } else {
[0;36m|[0;0m `- [1;33mwarning: [1;39mcode after 'throw' will never be executed[0;0m
[0;36m72 |[0;0m // As far as I know variable declaration in a protocol should have exactly one binding.
[0;36m73 |[0;0m throw SpyableDiagnostic.variableDeclInProtocolWithNotSingleBinding
[367 / 375] SpyableMacro
[370 / 378] Spyable
[375 / 378] Spyable
Build complete! (41.68 secs)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-syntax",
"requirement" : {
"range" : [
{
"lower_bound" : "509.0.0",
"upper_bound" : "602.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-syntax"
}
],
"manifest_display_name" : "swift-spyable",
"name" : "swift-spyable",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "maccatalyst",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Spyable",
"targets" : [
"Spyable"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SpyableMacro",
"targets" : [
"SpyableMacro"
],
"type" : {
"macro" : null
}
}
],
"swift_languages_versions" : [
"6"
],
"targets" : [
{
"c99name" : "SpyableMacroTests",
"module_type" : "SwiftTarget",
"name" : "SpyableMacroTests",
"path" : "Tests/SpyableMacroTests",
"product_dependencies" : [
"SwiftSyntaxMacrosTestSupport"
],
"sources" : [
"Assertions/AssertBuildResult.swift",
"Extensions/UT_FunctionDeclSyntax+Extensions.swift",
"Extensions/UT_FunctionParameterListSyntax+Extensions.swift",
"Extensions/UT_TypeSyntax+ContainsGenericType.swift",
"Extensions/UT_TypeSyntax+ErasingGenericType.swift",
"Extractors/UT_Extractor.swift",
"Factories/UT_CalledFactory.swift",
"Factories/UT_CallsCountFactory.swift",
"Factories/UT_ClosureFactory.swift",
"Factories/UT_FunctionImplementationFactory.swift",
"Factories/UT_ReceivedArgumentsFactory.swift",
"Factories/UT_ReceivedInvocationsFactory.swift",
"Factories/UT_ReturnValueFactory.swift",
"Factories/UT_SpyFactory.swift",
"Factories/UT_ThrowableErrorFactory.swift",
"Factories/UT_VariablePrefixFactory.swift",
"Factories/UT_VariablesImplementationFactory.swift",
"Helpers/UT_TypeSanitizer.swift",
"Macro/UT_SpyableMacro.swift"
],
"target_dependencies" : [
"SpyableMacro"
],
"type" : "test"
},
{
"c99name" : "SpyableMacro",
"module_type" : "SwiftTarget",
"name" : "SpyableMacro",
"path" : "Sources/SpyableMacro",
"product_dependencies" : [
"SwiftSyntaxMacros",
"SwiftCompilerPlugin"
],
"product_memberships" : [
"Spyable",
"SpyableMacro"
],
"sources" : [
"Diagnostics/SpyableDiagnostic.swift",
"Diagnostics/SpyableNoteMessage.swift",
"Extensions/FunctionDeclSyntax+Extensions.swift",
"Extensions/FunctionParameters+Extensions.swift",
"Extensions/TypeSyntax+Extensions.swift",
"Extractors/Extractor.swift",
"Factories/AssociatedtypeFactory.swift",
"Factories/CalledFactory.swift",
"Factories/CallsCountFactory.swift",
"Factories/ClosureFactory.swift",
"Factories/FunctionImplementationFactory.swift",
"Factories/ReceivedArgumentsFactory.swift",
"Factories/ReceivedInvocationsFactory.swift",
"Factories/ReturnValueFactory.swift",
"Factories/SpyFactory.swift",
"Factories/ThrowableErrorFactory.swift",
"Factories/VariablePrefixFactory.swift",
"Factories/VariablesImplementationFactory.swift",
"Helpers/TypeSanitizer.swift",
"Macro/AccessLevelModifierRewriter.swift",
"Macro/SpyableMacro.swift",
"Plugin.swift"
],
"type" : "macro"
},
{
"c99name" : "Spyable",
"module_type" : "SwiftTarget",
"name" : "Spyable",
"path" : "Sources/Spyable",
"product_memberships" : [
"Spyable"
],
"sources" : [
"Spyable.swift"
],
"target_dependencies" : [
"SpyableMacro"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
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.