The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftGopher, reference v3.1.0 (a537a1), with Swift 6.4 for macOS (SPM) on 13 Oct 2026 01:10:55 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/navanchauhan/swift-gopher.git
Reference: v3.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/navanchauhan/swift-gopher
 * tag               v3.1.0     -> FETCH_HEAD
HEAD is now at a537a1a Add built-in HTTP proxy for browsing gopher in a browser (v3.1.0) [skip release]
Cloned https://github.com/navanchauhan/swift-gopher.git
Revision (git rev-parse @):
a537a1ac07de2371c222b147ffabf3b57a934fb2
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/navanchauhan/swift-gopher.git at v3.1.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/navanchauhan/swift-gopher.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 983]
[Planning deferred tasks]
[184 / 398]
[189 / 398]
[207 / 406] ArgumentParserToolInfo
[209 / 425] CNIOWindows
[218 / 444] CNIOLinux
[232 / 455]
[248 / 515] ArgumentParserToolInfo
[276 / 515]
[283 / 535]
[287 / 535]
[301 / 535]
[310 / 535] SpanPreview
[319 / 535] _NIOBase64
[326 / 535] Atomics
[334 / 537] Atomics
[339 / 537] CNIODarwin
[344 / 537] CNIODarwin
[346 / 537]
[351 / 537] _NIODataStructures
[381 / 537] NIOConcurrencyHelpers
[385 / 537] Logging
[387 / 537]
[395 / 537]
[401 / 537] CNIODarwin
[408 / 538]
[421 / 543] Atomics
[431 / 555] DequeModule
[436 / 568] Logging
[441 / 568] DequeModule
[441 / 568]
[447 / 568] ArgumentParser
[449 / 568] GopherHelpers
[456 / 568] GopherHelpers
[460 / 568] ArgumentParser
[467 / 568] DequeModule
[475 / 569] ArgumentParser
[477 / 569] GopherHelpers
[479 / 582]
[486 / 582] NIOCore
[489 / 582] NIOCore
[491 / 582] ArgumentParser
[492 / 582] NIOCore
[492 / 582] CNIOAtomics
[494 / 582] NIOCore
[505 / 585] NIOEmbedded
[509 / 589] NIOFoundationEssentialsCompat
[516 / 607]
[536 / 607] NIOPosix
[537 / 607] NIOPosix
[539 / 607] NIOPosix
[540 / 607] NIOFoundationEssentialsCompat
[543 / 607] NIOPosix
[550 / 608] NIOPosix
[550 / 608] NIO
[558 / 610]
[561 / 612] NIOTLS
[567 / 618] NIOFoundationCompat
[577 / 622] NIOFoundationCompat
[585 / 623] NIOTLS
[586 / 623] NIOTransportServices
[588 / 636]
[598 / 636] NIOTransportServices
[606 / 637] NIOTransportServices
[607 / 637] SwiftGopherClient
[611 / 641] SwiftGopherClient
[618 / 642] SwiftGopherClient
[619 / 642] GopherProxy
[626 / 649] GopherProxy
[635 / 650] GopherProxy
[636 / 650] NIOPosix
[641 / 650] NIOFoundationCompat
[653 / 659] GopherProxy
[654 / 659] swift-gopher-product
[655 / 659] swift-gopher-product
[657 / 659] swift-gopher-product
Build complete! (18.01 sec)
Fetching https://github.com/apple/swift-nio-transport-services.git
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/apple/swift-nio
Fetching https://github.com/apple/swift-argument-parser.git
[1/8281] Fetching swift-log
[2/11148] Fetching swift-log, swift-nio-transport-services
[11149/30260] Fetching swift-log, swift-nio-transport-services, swift-argument-parser
[11150/116657] Fetching swift-log, swift-nio-transport-services, swift-argument-parser, swift-nio
Fetched https://github.com/apple/swift-nio-transport-services.git (10.22s)
Fetched https://github.com/apple/swift-log.git (10.22s)
Fetched https://github.com/apple/swift-argument-parser.git (10.22s)
[81214/86397] Fetching swift-nio
Fetched https://github.com/apple/swift-nio (12.03s)
Computing version for https://github.com/apple/swift-nio-transport-services.git
Computed https://github.com/apple/swift-nio-transport-services.git at 1.28.0 (12.63s)
Fetching https://github.com/apple/swift-atomics.git
[1/1889] Fetching swift-atomics
Fetched https://github.com/apple/swift-atomics.git (1.08s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.1 (1.68s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.16.1 (0.56s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.8.2 (0.55s)
Computing version for https://github.com/apple/swift-nio
Computed https://github.com/apple/swift-nio at 2.104.0 (0.76s)
Fetching https://github.com/apple/swift-system.git
Fetching https://github.com/apple/swift-collections.git
[1/7287] Fetching swift-system
[1022/36031] Fetching swift-system, swift-collections
Fetched https://github.com/apple/swift-collections.git (3.41s)
Fetched https://github.com/apple/swift-system.git (3.41s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.8.1 (4.01s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.7.3 (0.65s)
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.7.3
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.16.1
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.8.1
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.8.2
Creating working copy for https://github.com/apple/swift-nio-transport-services.git
Working copy of https://github.com/apple/swift-nio-transport-services.git resolved at 1.28.0
Creating working copy for https://github.com/apple/swift-nio
Working copy of https://github.com/apple/swift-nio resolved at 2.104.0
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.3.1
/Users/admin/builder/spi-builder-workspace/Sources/SwiftGopherClient/gopherClient.swift:355:53: warning: type 'GopherDataResponseHandler' does not conform to the 'Sendable' protocol
353 |                     .channelOption(ChannelOptions.socketOption(.so_reuseaddr), value: 1)
354 |                     .channelInitializer { channel in
355 |                         channel.pipeline.addHandler(handler)
    |                                                     `- warning: type 'GopherDataResponseHandler' does not conform to the 'Sendable' protocol
356 |                     }
357 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftGopherClient/GopherDataResponseHandler.swift:7:13: note: class 'GopherDataResponseHandler' does not conform to the 'Sendable' protocol
 5 | import NIO
 6 |
 7 | final class GopherDataResponseHandler: ChannelInboundHandler {
   |             `- note: class 'GopherDataResponseHandler' does not conform to the 'Sendable' protocol
 8 |     typealias InboundIn = ByteBuffer
 9 |     typealias OutboundOut = ByteBuffer
/Users/admin/builder/spi-builder-workspace/Sources/SwiftGopherClient/gopherClient.swift:361:53: warning: type 'GopherDataResponseHandler' does not conform to the 'Sendable' protocol
359 |                     .channelOption(ChannelOptions.socketOption(.so_reuseaddr), value: 1)
360 |                     .channelInitializer { channel in
361 |                         channel.pipeline.addHandler(handler)
    |                                                     `- warning: type 'GopherDataResponseHandler' does not conform to the 'Sendable' protocol
362 |                     }
363 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftGopherClient/GopherDataResponseHandler.swift:7:13: note: class 'GopherDataResponseHandler' does not conform to the 'Sendable' protocol
 5 | import NIO
 6 |
 7 | final class GopherDataResponseHandler: ChannelInboundHandler {
   |             `- note: class 'GopherDataResponseHandler' does not conform to the 'Sendable' protocol
 8 |     typealias InboundIn = ByteBuffer
 9 |     typealias OutboundOut = ByteBuffer
/Users/admin/builder/spi-builder-workspace/Sources/SwiftGopherClient/gopherClient.swift:355:53: warning: capture of 'handler' with non-Sendable type 'GopherDataResponseHandler' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
353 |                     .channelOption(ChannelOptions.socketOption(.so_reuseaddr), value: 1)
354 |                     .channelInitializer { channel in
355 |                         channel.pipeline.addHandler(handler)
    |                                                     `- warning: capture of 'handler' with non-Sendable type 'GopherDataResponseHandler' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
356 |                     }
357 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftGopherClient/GopherDataResponseHandler.swift:7:13: note: class 'GopherDataResponseHandler' does not conform to the 'Sendable' protocol
 5 | import NIO
 6 |
 7 | final class GopherDataResponseHandler: ChannelInboundHandler {
   |             `- note: class 'GopherDataResponseHandler' does not conform to the 'Sendable' protocol
 8 |     typealias InboundIn = ByteBuffer
 9 |     typealias OutboundOut = ByteBuffer
/Users/admin/builder/spi-builder-workspace/Sources/SwiftGopherClient/gopherClient.swift:361:53: warning: capture of 'handler' with non-Sendable type 'GopherDataResponseHandler' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
359 |                     .channelOption(ChannelOptions.socketOption(.so_reuseaddr), value: 1)
360 |                     .channelInitializer { channel in
361 |                         channel.pipeline.addHandler(handler)
    |                                                     `- warning: capture of 'handler' with non-Sendable type 'GopherDataResponseHandler' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
362 |                     }
363 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftGopherClient/GopherDataResponseHandler.swift:7:13: note: class 'GopherDataResponseHandler' does not conform to the 'Sendable' protocol
 5 | import NIO
 6 |
 7 | final class GopherDataResponseHandler: ChannelInboundHandler {
   |             `- note: class 'GopherDataResponseHandler' does not conform to the 'Sendable' protocol
 8 |     typealias InboundIn = ByteBuffer
 9 |     typealias OutboundOut = ByteBuffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/swift-gopher/gopherHandler.swift:53:13: warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
51 |         let outputBuffer = context.channel.allocator.buffer(bytes: response.data)
52 |         context.writeAndFlush(wrapOutboundOut(outputBuffer)).whenComplete { _ in
53 |             context.close(mode: .all, promise: nil)
   |             `- warning: capture of 'context' with non-Sendable type 'ChannelHandlerContext' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
54 |         }
55 |     }
NIOCore.ChannelHandlerContext:1:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
 1 | final public class ChannelHandlerContext : NIOCore.ChannelInvoker {
   |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
 2 |     public let pipeline: NIOCore.ChannelPipeline
 3 |     public var channel: any NIOCore.Channel { get }
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/swift-gopher/server.swift:120:17: warning: type 'GopherHandler' does not conform to the 'Sendable' protocol
118 |         .childChannelInitializer { channel in
119 |             channel.pipeline.addHandlers([
120 |                 GopherHandler(
    |                 `- warning: type 'GopherHandler' does not conform to the 'Sendable' protocol
121 |                     logger: logger,
122 |                     gopherdata_dir: localGopherDataDir,
/Users/admin/builder/spi-builder-workspace/Sources/swift-gopher/gopherHandler.swift:7:13: note: class 'GopherHandler' does not conform to the 'Sendable' protocol
 5 | import NIO
 6 |
 7 | final class GopherHandler: ChannelInboundHandler {
   |             `- note: class 'GopherHandler' does not conform to the 'Sendable' protocol
 8 |     typealias InboundIn = ByteBuffer
 9 |     typealias OutboundOut = ByteBuffer
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio"
    },
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.9.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    },
    {
      "identity" : "swift-nio-transport-services",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.20.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio-transport-services.git"
    }
  ],
  "manifest_display_name" : "SwiftGopher",
  "name" : "SwiftGopher",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftGopherClient",
      "targets" : [
        "SwiftGopherClient"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "swift-gopher",
      "targets" : [
        "swift-gopher"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "swift_gopher",
      "module_type" : "SwiftTarget",
      "name" : "swift-gopher",
      "path" : "Sources/swift-gopher",
      "product_dependencies" : [
        "NIO",
        "ArgumentParser",
        "Logging"
      ],
      "product_memberships" : [
        "swift-gopher"
      ],
      "sources" : [
        "GopherRequestProcessor.swift",
        "HTTPProxyHandler.swift",
        "HTTPProxySupport.swift",
        "WindowsGopherServer.swift",
        "WindowsHTTPProxyServer.swift",
        "gopherHandler.swift",
        "helpers.swift",
        "server.swift"
      ],
      "target_dependencies" : [
        "GopherHelpers",
        "GopherProxy"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "SwiftGopherServerTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftGopherServerTests",
      "path" : "Tests/SwiftGopherServerTests",
      "product_dependencies" : [
        "Logging"
      ],
      "sources" : [
        "ServerHelpersTests.swift",
        "SwiftGopherServerTests.swift",
        "WindowsGopherRequestProcessorTests.swift"
      ],
      "target_dependencies" : [
        "swift-gopher"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftGopherClientTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftGopherClientTests",
      "path" : "Tests/SwiftGopherClientTests",
      "sources" : [
        "GopherHelpersTests.swift",
        "GopherResponseParserTests.swift",
        "SwiftGopherClientTests.swift"
      ],
      "target_dependencies" : [
        "SwiftGopherClient"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftGopherClient",
      "module_type" : "SwiftTarget",
      "name" : "SwiftGopherClient",
      "path" : "Sources/SwiftGopherClient",
      "product_dependencies" : [
        "NIO",
        "NIOTransportServices",
        "Logging"
      ],
      "product_memberships" : [
        "SwiftGopherClient",
        "swift-gopher"
      ],
      "sources" : [
        "GopherDataResponseHandler.swift",
        "GopherResponseParser.swift",
        "gopherClient.swift"
      ],
      "target_dependencies" : [
        "GopherHelpers"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GopherProxyTests",
      "module_type" : "SwiftTarget",
      "name" : "GopherProxyTests",
      "path" : "Tests/GopherProxyTests",
      "sources" : [
        "GopherProxyTests.swift"
      ],
      "target_dependencies" : [
        "GopherProxy"
      ],
      "type" : "test"
    },
    {
      "c99name" : "GopherProxy",
      "module_type" : "SwiftTarget",
      "name" : "GopherProxy",
      "path" : "Sources/GopherProxy",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "swift-gopher"
      ],
      "sources" : [
        "GopherFetching.swift",
        "GopherHTTPProxy.swift",
        "GopherLocation.swift",
        "HTMLRenderer.swift",
        "HTTPMessage.swift",
        "ProxyPolicy.swift"
      ],
      "target_dependencies" : [
        "GopherHelpers",
        "SwiftGopherClient"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GopherHelpers",
      "module_type" : "SwiftTarget",
      "name" : "GopherHelpers",
      "path" : "Sources/GopherHelpers",
      "product_memberships" : [
        "SwiftGopherClient",
        "swift-gopher"
      ],
      "sources" : [
        "GopherHelpers.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.1"
}
Done.