Build Information
Successful build of GeoProjector, reference main (21187a), with Swift 6.4 for macOS (SPM) on 25 Sep 2026 06:21:40 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build 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 /Users/admin/builder/spi-builder-workspace/.git/
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: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/maparoni/GeoProjector.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 361]
[Planning deferred tasks]
[66 / 140]
[78 / 140]
[82 / 142] _NumericsShims
[86 / 156]
[96 / 156] RealModule
[96 / 156] GeoJSONKit
[99 / 191] RealModule
[112 / 192] Algorithms
[122 / 203]
[126 / 203] RealModule
[129 / 203]
[132 / 203] Algorithms
[134 / 203] Algorithms
[134 / 203]
[138 / 203]
[148 / 203]
[151 / 203]
[154 / 203]
[156 / 203]
[157 / 203]
[160 / 203] GeoJSONKit
[167 / 204] GeoJSONKitTurf
[176 / 215] GeoJSONKitTurf
[177 / 215] GeoJSONKitTurf
[185 / 216] GeoJSONKit
[189 / 216] GeoProjector
[190 / 228]
[201 / 228] GeoProjector
[209 / 230] GeoProjector
[211 / 230] GeoProjector
[212 / 230] GeoProjectorDanseiji
[218 / 236] GeoProjectorDanseiji
[224 / 236] GeoProjectorDanseiji
[227 / 236] GeoDrawer
[240 / 278]
[246 / 278]
[250 / 278]
[251 / 278]
[254 / 278]
[257 / 278]
[269 / 278] GeoDrawer
[275 / 278] GeoDrawer
Build complete! (12.81 sec)
Fetching https://github.com/apple/swift-algorithms.git
Fetching https://github.com/maparoni/geojsonkit.git
Fetching https://github.com/maparoni/geojsonkit-turf
[1/3087] Fetching geojsonkit-turf
[2/3449] Fetching geojsonkit-turf, geojsonkit
[230/9594] Fetching geojsonkit-turf, geojsonkit, swift-algorithms
Fetched https://github.com/maparoni/geojsonkit.git (1.45s)
Fetched https://github.com/apple/swift-algorithms.git (1.45s)
Fetched https://github.com/maparoni/geojsonkit-turf (1.45s)
Computing version for https://github.com/apple/swift-algorithms.git
Computed https://github.com/apple/swift-algorithms.git at 1.2.1 (2.13s)
Fetching https://github.com/apple/swift-numerics.git
[1/6640] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics.git (1.33s)
Computing version for https://github.com/maparoni/geojsonkit.git
Computed https://github.com/maparoni/geojsonkit.git at 0.6.0 (1.99s)
Computing version for https://github.com/apple/swift-numerics.git
Computed https://github.com/apple/swift-numerics.git at 1.1.1 (0.56s)
Computing version for https://github.com/maparoni/geojsonkit-turf
Computed https://github.com/maparoni/geojsonkit-turf at 0.4.3 (0.67s)
Fetching https://github.com/apple/swift-argument-parser
[1/18941] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser (1.91s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (2.56s)
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-algorithms.git
Working copy of https://github.com/apple/swift-algorithms.git resolved at 1.2.1
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-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
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
/Users/admin/builder/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 }
/Users/admin/builder/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 }
/Users/admin/builder/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 }
/Users/admin/builder/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.
{
"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" : "/Users/admin/builder/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" : "/Users/admin/builder/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/LICENSE-Danseiji.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiI.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiII.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiIII.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiIV.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiV.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/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"
}
Done.