Build Information
Successful build of Crossroad, reference 4.2.0 (7f5d9b), with Swift 6.4 for Android on 18 Sep 2026 09:28:01 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/giginet/Crossroad.git
Reference: 4.2.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/giginet/Crossroad
* tag 4.2.0 -> FETCH_HEAD
HEAD is now at 7f5d9bc Bump up version
Cloned https://github.com/giginet/Crossroad.git
Revision (git rev-parse @):
7f5d9bc64a901b7b9c09140dd30e95dfa8e4e6fb
SUCCESS checkout https://github.com/giginet/Crossroad.git at 4.2.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/giginet/Crossroad.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
Building for debugging...
[Planning deferred tasks]
[28 / 36] Crossroad
/host/spi-builder-workspace/Sources/Crossroad/Context.swift:6:14: [1;33mwarning: [1;39massociated value 'couldNotParse' of 'Sendable'-conforming enum 'Error' has non-Sendable type 'any Parsable.Type'[0;0m
[0;36m4 |[0;0m enum Error: Swift.Error {
[0;36m5 |[0;0m case keyNotFound(String)
[0;36m6 |[0;0m case couldNotParse(Parsable.Type)
[0;36m|[0;0m `- [1;33mwarning: [1;39massociated value 'couldNotParse' of 'Sendable'-conforming enum 'Error' has non-Sendable type 'any Parsable.Type'[0;0m
[0;36m7 |[0;0m }
[0;36m8 |[0;0m typealias Storage = [String: String]
/host/spi-builder-workspace/Sources/Crossroad/Validator.swift:9:23: [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m7 |[0;0m extension Router {
[0;36m8 |[0;0m private struct UnknownLinkSourceRule: ValidationRule {
[0;36m9 |[0;0m func validate<UserInfo>(for router: Router<UserInfo>) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m10 |[0;0m for route in router.routes {
[0;36m11 |[0;0m guard case let .only(acceptSources) = route.acceptPolicy else {
/host/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m3 |[0;0m public typealias SimpleRouter = Router<Void>
[0;36m4 |[0;0m
[0;36m5 |[0;0m public final class Router<UserInfo> {
[0;36m|[0;0m `- [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m6 |[0;0m public typealias Route = Crossroad.Route<UserInfo>
[0;36m7 |[0;0m
/host/spi-builder-workspace/Sources/Crossroad/Validator.swift:23:23: [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m21 |[0;0m
[0;36m22 |[0;0m private struct DuplicatedRouteRule: ValidationRule {
[0;36m23 |[0;0m func validate<UserInfo>(for router: Router<UserInfo>) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m24 |[0;0m for route in router.routes {
[0;36m25 |[0;0m let acceptSources: Set<LinkSource>
/host/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m3 |[0;0m public typealias SimpleRouter = Router<Void>
[0;36m4 |[0;0m
[0;36m5 |[0;0m public final class Router<UserInfo> {
[0;36m|[0;0m `- [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m6 |[0;0m public typealias Route = Crossroad.Route<UserInfo>
[0;36m7 |[0;0m
/host/spi-builder-workspace/Sources/Crossroad/Validator.swift:49:23: [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m47 |[0;0m
[0;36m48 |[0;0m private struct InvalidLinkSourceRule: ValidationRule {
[0;36m49 |[0;0m func validate<UserInfo>(for router: Router<UserInfo>) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m50 |[0;0m for route in router.routes {
[0;36m51 |[0;0m guard let patternLinkSource = route.pattern.linkSource else {
/host/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m3 |[0;0m public typealias SimpleRouter = Router<Void>
[0;36m4 |[0;0m
[0;36m5 |[0;0m public final class Router<UserInfo> {
[0;36m|[0;0m `- [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m6 |[0;0m public typealias Route = Crossroad.Route<UserInfo>
[0;36m7 |[0;0m
/host/spi-builder-workspace/Sources/Crossroad/Validator.swift:73:23: [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m71 |[0;0m
[0;36m72 |[0;0m private struct InvalidUniversalLinkSourceRule: ValidationRule {
[0;36m73 |[0;0m func validate<UserInfo>(for router: Router<UserInfo>) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m74 |[0;0m for linkSource in router.linkSources {
[0;36m75 |[0;0m switch linkSource {
/host/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m3 |[0;0m public typealias SimpleRouter = Router<Void>
[0;36m4 |[0;0m
[0;36m5 |[0;0m public final class Router<UserInfo> {
[0;36m|[0;0m `- [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m6 |[0;0m public typealias Route = Crossroad.Route<UserInfo>
[0;36m7 |[0;0m
/host/spi-builder-workspace/Sources/Crossroad/Validator.swift:104:23: [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m102 |[0;0m ]
[0;36m103 |[0;0m
[0;36m104 |[0;0m func validate<UserInfo>(for router: Router<UserInfo>) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m105 |[0;0m for linkSource in router.linkSources {
[0;36m106 |[0;0m switch linkSource {
/host/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m3 |[0;0m public typealias SimpleRouter = Router<Void>
[0;36m4 |[0;0m
[0;36m5 |[0;0m public final class Router<UserInfo> {
[0;36m|[0;0m `- [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m6 |[0;0m public typealias Route = Crossroad.Route<UserInfo>
[0;36m7 |[0;0m
/host/spi-builder-workspace/Sources/Crossroad/Context.swift:6:14: [1;33mwarning: [1;39massociated value 'couldNotParse' of 'Sendable'-conforming enum 'Error' has non-Sendable type 'any Parsable.Type'[0;0m
[0;36m4 |[0;0m enum Error: Swift.Error {
[0;36m5 |[0;0m case keyNotFound(String)
[0;36m6 |[0;0m case couldNotParse(Parsable.Type)
[0;36m|[0;0m `- [1;33mwarning: [1;39massociated value 'couldNotParse' of 'Sendable'-conforming enum 'Error' has non-Sendable type 'any Parsable.Type'[0;0m
[0;36m7 |[0;0m }
[0;36m8 |[0;0m typealias Storage = [String: String]
[29 / 36] Crossroad
/host/spi-builder-workspace/Sources/Crossroad/Validator.swift:9:23: [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m7 |[0;0m extension Router {
[0;36m8 |[0;0m private struct UnknownLinkSourceRule: ValidationRule {
[0;36m9 |[0;0m func validate<UserInfo>(for router: Router<UserInfo>) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m10 |[0;0m for route in router.routes {
[0;36m11 |[0;0m guard case let .only(acceptSources) = route.acceptPolicy else {
/host/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m3 |[0;0m public typealias SimpleRouter = Router<Void>
[0;36m4 |[0;0m
[0;36m5 |[0;0m public final class Router<UserInfo> {
[0;36m|[0;0m `- [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m6 |[0;0m public typealias Route = Crossroad.Route<UserInfo>
[0;36m7 |[0;0m
/host/spi-builder-workspace/Sources/Crossroad/Validator.swift:23:23: [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m21 |[0;0m
[0;36m22 |[0;0m private struct DuplicatedRouteRule: ValidationRule {
[0;36m23 |[0;0m func validate<UserInfo>(for router: Router<UserInfo>) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m24 |[0;0m for route in router.routes {
[0;36m25 |[0;0m let acceptSources: Set<LinkSource>
/host/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m3 |[0;0m public typealias SimpleRouter = Router<Void>
[0;36m4 |[0;0m
[0;36m5 |[0;0m public final class Router<UserInfo> {
[0;36m|[0;0m `- [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m6 |[0;0m public typealias Route = Crossroad.Route<UserInfo>
[0;36m7 |[0;0m
/host/spi-builder-workspace/Sources/Crossroad/Validator.swift:49:23: [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m47 |[0;0m
[0;36m48 |[0;0m private struct InvalidLinkSourceRule: ValidationRule {
[0;36m49 |[0;0m func validate<UserInfo>(for router: Router<UserInfo>) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m50 |[0;0m for route in router.routes {
[0;36m51 |[0;0m guard let patternLinkSource = route.pattern.linkSource else {
/host/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m3 |[0;0m public typealias SimpleRouter = Router<Void>
[0;36m4 |[0;0m
[0;36m5 |[0;0m public final class Router<UserInfo> {
[0;36m|[0;0m `- [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m6 |[0;0m public typealias Route = Crossroad.Route<UserInfo>
[0;36m7 |[0;0m
/host/spi-builder-workspace/Sources/Crossroad/Validator.swift:73:23: [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m71 |[0;0m
[0;36m72 |[0;0m private struct InvalidUniversalLinkSourceRule: ValidationRule {
[0;36m73 |[0;0m func validate<UserInfo>(for router: Router<UserInfo>) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m74 |[0;0m for linkSource in router.linkSources {
[0;36m75 |[0;0m switch linkSource {
/host/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m3 |[0;0m public typealias SimpleRouter = Router<Void>
[0;36m4 |[0;0m
[0;36m5 |[0;0m public final class Router<UserInfo> {
[0;36m|[0;0m `- [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m6 |[0;0m public typealias Route = Crossroad.Route<UserInfo>
[0;36m7 |[0;0m
/host/spi-builder-workspace/Sources/Crossroad/Validator.swift:104:23: [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m102 |[0;0m ]
[0;36m103 |[0;0m
[0;36m104 |[0;0m func validate<UserInfo>(for router: Router<UserInfo>) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39mgeneric parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode[0;0m
[0;36m105 |[0;0m for linkSource in router.linkSources {
[0;36m106 |[0;0m switch linkSource {
/host/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m3 |[0;0m public typealias SimpleRouter = Router<Void>
[0;36m4 |[0;0m
[0;36m5 |[0;0m public final class Router<UserInfo> {
[0;36m|[0;0m `- [1;39mnote: [1;39m'UserInfo' previously declared here[0;0m
[0;36m6 |[0;0m public typealias Route = Crossroad.Route<UserInfo>
[0;36m7 |[0;0m
[33 / 36] Crossroad
Build complete! (6.01 secs)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Crossroad",
"name" : "Crossroad",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "9.0"
},
{
"name" : "tvos",
"version" : "9.0"
},
{
"name" : "macos",
"version" : "10.10"
}
],
"products" : [
{
"name" : "Crossroad",
"targets" : [
"Crossroad"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CrossroadTests",
"module_type" : "SwiftTarget",
"name" : "CrossroadTests",
"path" : "Tests/CrossroadTests",
"sources" : [
"ContextTests.swift",
"DSLTests.swift",
"OpenURLOptionTests.swift",
"ParsableTests.swift",
"ParserTests.swift",
"PatternTests.swift",
"RouterTests.swift",
"Router_AcceptanceTests.swift",
"Router_ValidationTests.swift"
],
"target_dependencies" : [
"Crossroad"
],
"type" : "test"
},
{
"c99name" : "Crossroad",
"module_type" : "SwiftTarget",
"name" : "Crossroad",
"path" : "Sources/Crossroad",
"product_memberships" : [
"Crossroad"
],
"sources" : [
"Context.swift",
"ContextParser.swift",
"DSL.swift",
"OpenURLOption.swift",
"Parsable.swift",
"Pattern.swift",
"Route.swift",
"Router.swift",
"Utils.swift",
"Validator.swift"
],
"type" : "library"
}
],
"tools_version" : "5.2"
}
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.