Build Information
Successful build of NanoHTTP, reference 2.1.2 (a8cb61), with Swift 6.2 for macOS (SPM) on 17 Oct 2026 23:12:10 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/objecthub/swift-nanohttp.git
Reference: 2.1.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/objecthub/swift-nanohttp
* tag 2.1.2 -> FETCH_HEAD
HEAD is now at a8cb617 Make all errors LocalizedErrors. Finalize release 2.1.2.
Cloned https://github.com/objecthub/swift-nanohttp.git
Revision (git rev-parse @):
a8cb617fcc333e1aa3ca31d5bf794a9c6db73c74
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/objecthub/swift-nanohttp.git at 2.1.2
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/objecthub/swift-nanohttp.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64
Building for debugging...
[0/39] Write sources
[2/39] Write ExampleFileServer-entitlement.plist
[3/39] Write ExampleStatus-entitlement.plist
[3/39] Write DemoServer-entitlement.plist
[3/39] Write ExampleChat-entitlement.plist
[3/39] Write ExampleTodoAPI-entitlement.plist
[7/39] Write ExampleHello-entitlement.plist
[7/39] Write sources
[10/39] Write ExampleUpload-entitlement.plist
[11/39] Write sources
[17/39] Write swift-version--3CB7CFEC50E0D141.txt
[19/67] Compiling NanoHTTP NanoHTTPRequest.swift
[20/67] Compiling NanoHTTP NanoHTTPResponse.swift
[21/67] Compiling NanoHTTP NanoHTTPResponseBodyWriter.swift
[22/70] Compiling NanoHTTP NanoSocketSession.swift
[23/70] Compiling NanoHTTP NanoThreadPool.swift
[24/70] Compiling NanoHTTP NanoWebSocketHub.swift
[25/70] Compiling NanoHTTP NanoMiddleware.swift
[26/70] Compiling NanoHTTP NanoNetworkInterface.swift
[27/70] Compiling NanoHTTP NanoProcess.swift
[28/70] Compiling NanoHTTP NanoHTTPConnection.swift
[29/70] Compiling NanoHTTP NanoHTTPCookie.swift
[30/70] Compiling NanoHTTP NanoHTTPDeferredResponse.swift
[31/70] Compiling NanoHTTP NanoHTTPError.swift
[32/70] Compiling NanoHTTP NanoHTTPMultipart.swift
[33/70] Compiling NanoHTTP NanoHTTPParser.swift
[34/70] Compiling NanoHTTP NanoRequestPolicy.swift
[35/70] Compiling NanoHTTP NanoSocket.swift
[36/70] Compiling NanoHTTP NanoSocketError.swift
[37/70] Emitting module NanoHTTP
[38/70] Compiling NanoHTTP NanoFile.swift
[39/70] Compiling NanoHTTP NanoFiles.swift
[40/70] Compiling NanoHTTP NanoHTTPBodyWriters.swift
[41/70] Compiling NanoHTTP NanoHTTPResponseSerializer.swift
[42/70] Compiling NanoHTTP NanoHTTPRouter.swift
[43/70] Compiling NanoHTTP NanoHTTPSegmentRouter.swift
[44/70] Compiling NanoHTTP NanoHTTPServer.swift
[45/70] Compiling NanoHTTP NanoHTTPServerIO.swift
[46/70] Compiling NanoHTTP NanoLogger.swift
[47/70] Compiling NanoHTTP NanoWebSockets.swift
[48/70] Compiling NanoHTTP Renamed.swift
[49/70] Compiling NanoHTTP String+Extensions.swift
[50/82] Emitting module ExampleHello
[51/82] Compiling ExampleHello main.swift
[52/82] Compiling ExampleFileServer main.swift
[53/82] Emitting module ExampleFileServer
[53/82] Write Objects.LinkFileList
[56/82] Compiling NanoHTML HTMLResponse.swift
[57/82] Emitting module NanoHTML
[58/82] Compiling NanoHTML HTMLAttributes.swift
[59/82] Compiling NanoHTML HTMLElements.swift
[60/82] Compiling NanoHTML HTMLElement.swift
[61/82] Compiling NanoHTML HTMLNode.swift
[62/82] Emitting module ExampleTodoAPI
[63/82] Compiling ExampleTodoAPI main.swift
[63/82] Write Objects.LinkFileList
[65/90] Emitting module ExampleChat
[66/90] Compiling ExampleChat main.swift
[66/90] Write Objects.LinkFileList
[68/90] Emitting module ExampleStatus
[69/90] Compiling ExampleStatus main.swift
[69/90] Write Objects.LinkFileList
[71/90] Emitting module ExampleUpload
[72/90] Compiling ExampleUpload main.swift
[72/90] Write Objects.LinkFileList
[74/90] Compiling NanoHTTPDemo NanoHTTPDemo.swift
[75/90] Emitting module NanoHTTPDemo
[76/92] Compiling DemoServer main.swift
[77/92] Emitting module DemoServer
[77/92] Write Objects.LinkFileList
[78/92] Linking ExampleHello
[79/92] Applying ExampleHello
[80/92] Linking DemoServer
[81/92] Applying DemoServer
[82/92] Linking ExampleFileServer
[83/92] Applying ExampleFileServer
[84/92] Linking ExampleTodoAPI
[85/92] Applying ExampleTodoAPI
[86/92] Linking ExampleChat
[87/92] Applying ExampleChat
[88/92] Linking ExampleStatus
[89/92] Applying ExampleStatus
[90/92] Linking ExampleUpload
[91/92] Applying ExampleUpload
Build complete! (8.43s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "NanoHTTP",
"name" : "NanoHTTP",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "15.0"
}
],
"products" : [
{
"name" : "NanoHTTP",
"targets" : [
"NanoHTTP"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "NanoHTML",
"targets" : [
"NanoHTML"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "NanoHTTPDemo",
"targets" : [
"NanoHTTPDemo"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "DemoServer",
"targets" : [
"DemoServer"
],
"type" : {
"executable" : null
}
},
{
"name" : "ExampleUpload",
"targets" : [
"ExampleUpload"
],
"type" : {
"executable" : null
}
},
{
"name" : "ExampleTodoAPI",
"targets" : [
"ExampleTodoAPI"
],
"type" : {
"executable" : null
}
},
{
"name" : "ExampleStatus",
"targets" : [
"ExampleStatus"
],
"type" : {
"executable" : null
}
},
{
"name" : "ExampleHello",
"targets" : [
"ExampleHello"
],
"type" : {
"executable" : null
}
},
{
"name" : "ExampleFileServer",
"targets" : [
"ExampleFileServer"
],
"type" : {
"executable" : null
}
},
{
"name" : "ExampleChat",
"targets" : [
"ExampleChat"
],
"type" : {
"executable" : null
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "NanoHTTPTests",
"module_type" : "SwiftTarget",
"name" : "NanoHTTPTests",
"path" : "Tests/NanoHTTPTests",
"sources" : [
"BufferedReadingTests.swift",
"CORSTests.swift",
"ConfigurationTests.swift",
"ConnectionSemanticsTests.swift",
"CookieTests.swift",
"DeferredResponseTests.swift",
"FileServingTests.swift",
"HTMLDSLTests.swift",
"HTTPParserTests.swift",
"HTTPProtocolTests.swift",
"HTTPRouterTests.swift",
"HandlerErrorTests.swift",
"HeadAndOptionsTests.swift",
"HostAndOriginTests.swift",
"IOSafetyTests.swift",
"LocalizedErrorTests.swift",
"LoggerTests.swift",
"MiddlewareTests.swift",
"MimeTypeTests.swift",
"MultipartParserTests.swift",
"NanoProcessTests.swift",
"PingServer.swift",
"RequestParsingTests.swift",
"RequestSemanticsTests.swift",
"ResponseHelperTests.swift",
"ResponseSerializerTests.swift",
"RobustnessTests.swift",
"RouterBehaviorTests.swift",
"SecurityTests.swift",
"ServerThreadingTests.swift",
"SingleThreadTests.swift",
"SocketSessionTests.swift",
"StringExtensionsTests.swift",
"Support/KnownIssue.swift",
"Support/RawClient.swift",
"Support/TestServer.swift",
"ThreadPoolTests.swift",
"TimeoutTests.swift",
"WebSocketHubTests.swift",
"WebSocketIntegrationTests.swift",
"WebSocketTests.swift"
],
"target_dependencies" : [
"NanoHTTP",
"NanoHTML"
],
"type" : "test"
},
{
"c99name" : "NanoHTTPDemo",
"module_type" : "SwiftTarget",
"name" : "NanoHTTPDemo",
"path" : "Sources/NanoHTTPDemo",
"product_memberships" : [
"NanoHTTPDemo",
"DemoServer"
],
"sources" : [
"NanoHTTPDemo.swift"
],
"target_dependencies" : [
"NanoHTTP",
"NanoHTML"
],
"type" : "library"
},
{
"c99name" : "NanoHTTP",
"module_type" : "SwiftTarget",
"name" : "NanoHTTP",
"path" : "Sources/NanoHTTP",
"product_memberships" : [
"NanoHTTP",
"NanoHTML",
"NanoHTTPDemo",
"DemoServer",
"ExampleUpload",
"ExampleTodoAPI",
"ExampleStatus",
"ExampleHello",
"ExampleFileServer",
"ExampleChat"
],
"sources" : [
"NanoFile.swift",
"NanoFiles.swift",
"NanoHTTPBodyWriters.swift",
"NanoHTTPConnection.swift",
"NanoHTTPCookie.swift",
"NanoHTTPDeferredResponse.swift",
"NanoHTTPError.swift",
"NanoHTTPMultipart.swift",
"NanoHTTPParser.swift",
"NanoHTTPRequest.swift",
"NanoHTTPResponse.swift",
"NanoHTTPResponseBodyWriter.swift",
"NanoHTTPResponseSerializer.swift",
"NanoHTTPRouter.swift",
"NanoHTTPSegmentRouter.swift",
"NanoHTTPServer.swift",
"NanoHTTPServerIO.swift",
"NanoLogger.swift",
"NanoMiddleware.swift",
"NanoNetworkInterface.swift",
"NanoProcess.swift",
"NanoRequestPolicy.swift",
"NanoSocket.swift",
"NanoSocketError.swift",
"NanoSocketSession.swift",
"NanoThreadPool.swift",
"NanoWebSocketHub.swift",
"NanoWebSockets.swift",
"Renamed.swift",
"String+Extensions.swift"
],
"type" : "library"
},
{
"c99name" : "NanoHTML",
"module_type" : "SwiftTarget",
"name" : "NanoHTML",
"path" : "Sources/NanoHTML",
"product_memberships" : [
"NanoHTML",
"NanoHTTPDemo",
"DemoServer",
"ExampleUpload",
"ExampleStatus",
"ExampleChat"
],
"sources" : [
"HTMLAttributes.swift",
"HTMLElement.swift",
"HTMLElements.swift",
"HTMLNode.swift",
"HTMLResponse.swift"
],
"target_dependencies" : [
"NanoHTTP"
],
"type" : "library"
},
{
"c99name" : "ExampleUpload",
"module_type" : "SwiftTarget",
"name" : "ExampleUpload",
"path" : "Examples/Upload",
"product_memberships" : [
"ExampleUpload"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"NanoHTTP",
"NanoHTML"
],
"type" : "executable"
},
{
"c99name" : "ExampleTodoAPI",
"module_type" : "SwiftTarget",
"name" : "ExampleTodoAPI",
"path" : "Examples/TodoAPI",
"product_memberships" : [
"ExampleTodoAPI"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"NanoHTTP"
],
"type" : "executable"
},
{
"c99name" : "ExampleStatus",
"module_type" : "SwiftTarget",
"name" : "ExampleStatus",
"path" : "Examples/Status",
"product_memberships" : [
"ExampleStatus"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"NanoHTTP",
"NanoHTML"
],
"type" : "executable"
},
{
"c99name" : "ExampleHello",
"module_type" : "SwiftTarget",
"name" : "ExampleHello",
"path" : "Examples/Hello",
"product_memberships" : [
"ExampleHello"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"NanoHTTP"
],
"type" : "executable"
},
{
"c99name" : "ExampleFileServer",
"module_type" : "SwiftTarget",
"name" : "ExampleFileServer",
"path" : "Examples/FileServer",
"product_memberships" : [
"ExampleFileServer"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"NanoHTTP"
],
"type" : "executable"
},
{
"c99name" : "ExampleChat",
"module_type" : "SwiftTarget",
"name" : "ExampleChat",
"path" : "Examples/Chat",
"product_memberships" : [
"ExampleChat"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"NanoHTTP",
"NanoHTML"
],
"type" : "executable"
},
{
"c99name" : "DemoServer",
"module_type" : "SwiftTarget",
"name" : "DemoServer",
"path" : "Sources/DemoServer",
"product_memberships" : [
"DemoServer"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"NanoHTTP",
"NanoHTTPDemo"
],
"type" : "executable"
}
],
"tools_version" : "5.7"
}
Done.