Build Information
Successful build of GeoProjector, reference main (21187a), with Swift 6.4 for Android on 25 Sep 2026 06:08:09 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886770-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/maparoni/GeoProjector.git
Reference: main
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/maparoni/GeoProjector
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 21187a5 Build CGPaths during parallel projection, not on every draw call (#43)
Cloned https://github.com/maparoni/GeoProjector.git
Revision (git rev-parse @):
21187a58fa199daad99845e4df7c302b75523ae9
SUCCESS checkout https://github.com/maparoni/GeoProjector.git at main
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/maparoni/GeoProjector.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886770-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/maparoni/geojsonkit-turf
Fetching https://github.com/maparoni/geojsonkit.git
Fetching https://github.com/apple/swift-algorithms.git
[1/3087] Fetching geojsonkit-turf
[32/3449] Fetching geojsonkit-turf, geojsonkit
Fetched https://github.com/maparoni/geojsonkit-turf (0.59s)
[360/6507] Fetching geojsonkit, swift-algorithms
Fetched https://github.com/maparoni/geojsonkit.git (0.65s)
[246/6145] Fetching swift-algorithms
Fetched https://github.com/apple/swift-algorithms.git (0.84s)
Computing version for https://github.com/apple/swift-algorithms.git
Computed https://github.com/apple/swift-algorithms.git at 1.2.1 (1.04s)
Fetching https://github.com/apple/swift-numerics.git
[1/6640] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics.git (0.61s)
Computing version for https://github.com/maparoni/geojsonkit.git
Computed https://github.com/maparoni/geojsonkit.git at 0.6.0 (0.80s)
Computing version for https://github.com/apple/swift-numerics.git
Computed https://github.com/apple/swift-numerics.git at 1.1.1 (0.16s)
Computing version for https://github.com/maparoni/geojsonkit-turf
Computed https://github.com/maparoni/geojsonkit-turf at 0.4.3 (0.19s)
Fetching https://github.com/apple/swift-argument-parser
[1/18941] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser (0.98s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (1.20s)
Creating working copy for https://github.com/maparoni/geojsonkit.git
Working copy of https://github.com/maparoni/geojsonkit.git resolved at 0.6.0
Creating working copy for https://github.com/apple/swift-algorithms.git
Working copy of https://github.com/apple/swift-algorithms.git resolved at 1.2.1
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
Creating working copy for https://github.com/maparoni/geojsonkit-turf
Working copy of https://github.com/maparoni/geojsonkit-turf resolved at 0.4.3
Creating working copy for https://github.com/apple/swift-numerics.git
Working copy of https://github.com/apple/swift-numerics.git resolved at 1.1.1
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 361]
[Constructing 201 / 761]
[81 / 138] _NumericsShims
[87 / 138] _NumericsShims
[89 / 138] GeoJSONKit
[92 / 138] GeoJSONKit
[99 / 149] RealModule
[105 / 159] RealModule
[112 / 159] Algorithms
[119 / 159] GeoJSONKitTurf-product
[120 / 159] GeoProjector
[125 / 159] GeoProjector
[127 / 159] Algorithms-product
[133 / 161] GeoJSONKit
[139 / 171] GeoProjector
[141 / 171] GeoProjector
[145 / 171] GeoProjector
[156 / 178] GeoProjectorDanseiji
[162 / 188] GeoProjectorDanseiji
[171 / 189] GeoProjectorDanseiji-product
/host/spi-builder-workspace/Sources/GeoDrawer/TileCache.swift:21:9: [1;33mwarning: [1;39mstored property 'sourceID' of 'Sendable'-conforming struct 'TileCacheKey' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m19 |[0;0m /// projection/size/zoom/insets/quality changes.
[0;36m20 |[0;0m struct TileCacheKey: Hashable, Sendable {
[0;36m21 |[0;0m let sourceID: AnyHashable
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'sourceID' of 'Sendable'-conforming struct 'TileCacheKey' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m22 |[0;0m let tileKey: TileKey
[0;36m23 |[0;0m }
Swift.AnyHashable:1:23: [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m1 |[0;0m @frozen public struct AnyHashable {
[0;36m|[0;0m `- [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m2 |[0;0m public init<H>(_ base: H) where H : Hashable
[0;36m3 |[0;0m public var base: Any { get }
/host/spi-builder-workspace/Sources/GeoDrawer/TileSources/StaticTileSource.swift:27:14: [1;33mwarning: [1;39mstored property 'tileSourceID' of 'Sendable'-conforming struct 'StaticTileSource' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m25 |[0;0m public struct StaticTileSource: TileSource {
[0;36m26 |[0;0m
[0;36m27 |[0;0m public let tileSourceID: AnyHashable
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'tileSourceID' of 'Sendable'-conforming struct 'StaticTileSource' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m28 |[0;0m public let projection: any Projection
[0;36m29 |[0;0m public let tileSize: Int
Swift.AnyHashable:1:23: [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m1 |[0;0m @frozen public struct AnyHashable {
[0;36m|[0;0m `- [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m2 |[0;0m public init<H>(_ base: H) where H : Hashable
[0;36m3 |[0;0m public var base: Any { get }
[181 / 189] GeoProjectorDanseiji
[188 / 191] GeoDrawer
/host/spi-builder-workspace/Sources/GeoDrawer/TileCache.swift:21:9: [1;33mwarning: [1;39mstored property 'sourceID' of 'Sendable'-conforming struct 'TileCacheKey' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m19 |[0;0m /// projection/size/zoom/insets/quality changes.
[0;36m20 |[0;0m struct TileCacheKey: Hashable, Sendable {
[0;36m21 |[0;0m let sourceID: AnyHashable
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'sourceID' of 'Sendable'-conforming struct 'TileCacheKey' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m22 |[0;0m let tileKey: TileKey
[0;36m23 |[0;0m }
Swift.AnyHashable:1:23: [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m1 |[0;0m @frozen public struct AnyHashable {
[0;36m|[0;0m `- [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m2 |[0;0m public init<H>(_ base: H) where H : Hashable
[0;36m3 |[0;0m public var base: Any { get }
/host/spi-builder-workspace/Sources/GeoDrawer/TileSources/StaticTileSource.swift:27:14: [1;33mwarning: [1;39mstored property 'tileSourceID' of 'Sendable'-conforming struct 'StaticTileSource' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m25 |[0;0m public struct StaticTileSource: TileSource {
[0;36m26 |[0;0m
[0;36m27 |[0;0m public let tileSourceID: AnyHashable
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'tileSourceID' of 'Sendable'-conforming struct 'StaticTileSource' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m28 |[0;0m public let projection: any Projection
[0;36m29 |[0;0m public let tileSize: Int
Swift.AnyHashable:1:23: [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m1 |[0;0m @frozen public struct AnyHashable {
[0;36m|[0;0m `- [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m2 |[0;0m public init<H>(_ base: H) where H : Hashable
[0;36m3 |[0;0m public var base: Any { get }
Build complete! (10.80 secs)
Build complete.
{
"dependencies" : [
{
"identity" : "geojsonkit",
"requirement" : {
"range" : [
{
"lower_bound" : "0.5.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/maparoni/geojsonkit.git"
},
{
"identity" : "geojsonkit-turf",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/maparoni/geojsonkit-turf"
},
{
"identity" : "swift-algorithms",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-algorithms.git"
}
],
"manifest_display_name" : "GeoProjector",
"name" : "GeoProjector",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "xros",
"version" : "1.0"
}
],
"products" : [
{
"name" : "GeoProjector",
"targets" : [
"GeoProjector"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "GeoProjectorDanseiji",
"targets" : [
"GeoProjectorDanseiji"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "GeoDrawer",
"targets" : [
"GeoDrawer"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "GeoProjectorTests",
"module_type" : "SwiftTarget",
"name" : "GeoProjectorTests",
"path" : "Tests/GeoProjectorTests",
"sources" : [
"InverseTests.swift",
"MapBoundsTests.swift",
"NaturalEarthTests.swift",
"ProjectionTests.swift",
"TranslationTests.swift"
],
"target_dependencies" : [
"GeoProjector"
],
"type" : "test"
},
{
"c99name" : "GeoProjectorDanseijiTests",
"module_type" : "SwiftTarget",
"name" : "GeoProjectorDanseijiTests",
"path" : "Tests/GeoProjectorDanseijiTests",
"sources" : [
"DanseijiTests.swift"
],
"target_dependencies" : [
"GeoProjectorDanseiji"
],
"type" : "test"
},
{
"c99name" : "GeoProjectorDanseiji",
"module_type" : "SwiftTarget",
"name" : "GeoProjectorDanseiji",
"path" : "Sources/GeoProjectorDanseiji",
"product_dependencies" : [
"GeoJSONKit"
],
"product_memberships" : [
"GeoProjectorDanseiji"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/LICENSE-Danseiji.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiI.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiII.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiIII.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiIV.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiV.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiVI.csv",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"DanseijiCore.swift",
"DanseijiData.swift",
"DanseijiVariant.swift",
"Projections+Danseiji.swift"
],
"target_dependencies" : [
"GeoProjector"
],
"type" : "library"
},
{
"c99name" : "GeoProjector",
"module_type" : "SwiftTarget",
"name" : "GeoProjector",
"path" : "Sources/GeoProjector",
"product_dependencies" : [
"GeoJSONKit",
"GeoJSONKitTurf"
],
"product_memberships" : [
"GeoProjector",
"GeoProjectorDanseiji",
"GeoDrawer"
],
"sources" : [
"Interpolator.swift",
"MapBounds+Contains.swift",
"Projection.swift",
"ProjectionMode.swift",
"Projections+Azimuthal.swift",
"Projections+Cylindrical.swift",
"Projections+Orthographic.swift",
"Projections+Pseudocylindrical.swift",
"Projections.swift",
"Structs.swift"
],
"type" : "library"
},
{
"c99name" : "GeoDrawerTests",
"module_type" : "SwiftTarget",
"name" : "GeoDrawerTests",
"path" : "Tests/GeoDrawerTests",
"sources" : [
"BaseMapTests.swift",
"BoundarySplitTests.swift",
"GeoDrawerSVGTests.swift",
"GeoDrawerSVGZoomTests.swift",
"GraticuleCoverageTests.swift",
"RenderSamples.swift",
"TilePrefetchCoverageTests.swift",
"TileSourceTests.swift"
],
"target_dependencies" : [
"GeoDrawer",
"GeoProjector",
"GeoProjectorDanseiji"
],
"type" : "test"
},
{
"c99name" : "GeoDrawer",
"module_type" : "SwiftTarget",
"name" : "GeoDrawer",
"path" : "Sources/GeoDrawer",
"product_dependencies" : [
"Algorithms"
],
"product_memberships" : [
"GeoDrawer"
],
"sources" : [
"BaseMap.swift",
"GeoDrawer+BoundarySplit.swift",
"GeoDrawer+SVG.swift",
"GeoDrawer+TilePrefetch.swift",
"GeoDrawer.swift",
"GeoJSON+Continents.swift",
"Sampling.swift",
"TileCache.swift",
"TileSource.swift",
"TileSources/StaticTileSource.swift",
"TileSources/URLTemplateTileSource.swift",
"TiledBaseMap.swift",
"apple/BaseMap+CoreGraphics.swift",
"apple/GeoDrawer+CGProjected.swift",
"apple/GeoDrawer+CoreGraphics.swift",
"apple/GeoDrawer+Image.swift",
"apple/GeoDrawer+RasterBaseMap.swift",
"apple/GeoDrawer+TiledBaseMap.swift",
"apple/GeoMap+AppKit.swift",
"apple/GeoMap+UIKit.swift",
"apple/TileImage+CoreGraphics.swift",
"styling/GeoDrawerContent+Style.swift"
],
"target_dependencies" : [
"GeoProjector"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
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.