Build Information
Successful build of SKServer, reference 4.1.2 (ee058e), with Swift 6.4 for macOS (SPM) on 17 Sep 2026 01:48:56 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/pvzig/SKServer.git
Reference: 4.1.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/pvzig/SKServer
* tag 4.1.2 -> FETCH_HEAD
HEAD is now at ee058e1 Merge pull request #5 from MrLotU/patch-1
Cloned https://github.com/pvzig/SKServer.git
Revision (git rev-parse @):
ee058e13e7bc0ef76b7f9abfd8182e806eb158b9
SUCCESS checkout https://github.com/pvzig/SKServer.git at 4.1.2
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/pvzig/SKServer.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Constructing description]
[Planning deferred tasks]
[37 / 70]
[49 / 83] SKCore
[50 / 128]
[53 / 128] SKCore
[60 / 128]
[71 / 133]
[76 / 133] SKWebAPI
[84 / 133]
[86 / 133]
[90 / 133]
[92 / 133]
[95 / 133]
[100 / 133] SKWebAPI
[103 / 133]
[104 / 133]
[105 / 133]
[116 / 133] Swifter
[122 / 133] Swifter
[131 / 145] SKServer
[133 / 145] SKServer
[140 / 145] Swifter
[142 / 145] SKServer
Build complete! (8.42 sec)
Fetching https://github.com/httpswift/swifter.git
Fetching https://github.com/SlackKit/SKCore
Fetching https://github.com/SlackKit/SKWebAPI
[1/294] Fetching skwebapi
[87/582] Fetching skwebapi, skcore
[183/6632] Fetching skwebapi, skcore, swifter
Fetched https://github.com/SlackKit/SKCore (0.90s)
[597/6344] Fetching skwebapi, swifter
Fetched https://github.com/SlackKit/SKWebAPI (2.53s)
Fetched https://github.com/httpswift/swifter.git (2.53s)
Computing version for https://github.com/SlackKit/SKWebAPI
Computed https://github.com/SlackKit/SKWebAPI at 4.1.3 (3.19s)
Computing version for https://github.com/SlackKit/SKCore
Computed https://github.com/SlackKit/SKCore at 4.1.3 (0.61s)
Computing version for https://github.com/httpswift/swifter.git
Computed https://github.com/httpswift/swifter.git at 1.4.7 (2.13s)
Creating working copy for https://github.com/SlackKit/SKWebAPI
Working copy of https://github.com/SlackKit/SKWebAPI resolved at 4.1.3
Creating working copy for https://github.com/SlackKit/SKCore
Working copy of https://github.com/SlackKit/SKCore resolved at 4.1.3
Creating working copy for https://github.com/httpswift/swifter.git
Working copy of https://github.com/httpswift/swifter.git resolved at 1.4.7
/Users/admin/builder/spi-builder-workspace/Sources/SKServer/Titan/TitanFormURLEncodedBodyParser/TitanFormURLEncodedBodyParser.swift:18:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m16 |[0;0m public extension RequestType {
[0;36m17 |[0;0m
[0;36m18 |[0;0m public var formURLEncodedBody: [(name: String, value: String)] {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m19 |[0;0m guard let bodyString: String = self.body else {
[0;36m20 |[0;0m return []
/Users/admin/builder/spi-builder-workspace/Sources/SKServer/Titan/TitanFormURLEncodedBodyParser/TitanFormURLEncodedBodyParser.swift:26:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m24 |[0;0m }
[0;36m25 |[0;0m
[0;36m26 |[0;0m public var postParams: [String: String] {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m27 |[0;0m var ret = [String: String]()
[0;36m28 |[0;0m guard let bodyString: String = self.body else {
/Users/admin/builder/spi-builder-workspace/Sources/SKServer/Titan/TitanQueryString/TitanQueryString.swift:19:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m17 |[0;0m /// The pairs of keys and values in the query string of the `RequestType`s path.
[0;36m18 |[0;0m /// Complexity: 0(n) on all invocations.
[0;36m19 |[0;0m public var queryPairs: [(key: String, value: String)] {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m20 |[0;0m // Ensure there is a query string, otherwise return
[0;36m21 |[0;0m guard let indexOfQuery = self.path.index(of: "?") else {
/Users/admin/builder/spi-builder-workspace/Sources/SKServer/Titan/TitanQueryString/TitanQueryString.swift:56:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m54 |[0;0m /// Access the query string as a dictionary, with case sensitive keys.
[0;36m55 |[0;0m /// Complexity: 0(n) on all invocations.
[0;36m56 |[0;0m public var query: [String: String] {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m57 |[0;0m var query: [String: String] = [:]
[0;36m58 |[0;0m for (name, value) in self.queryPairs {
/Users/admin/builder/spi-builder-workspace/Sources/SKServer/Titan/TitanFormURLEncodedBodyParser/TitanFormURLEncodedBodyParser.swift:18:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m16 |[0;0m public extension RequestType {
[0;36m17 |[0;0m
[0;36m18 |[0;0m public var formURLEncodedBody: [(name: String, value: String)] {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m19 |[0;0m guard let bodyString: String = self.body else {
[0;36m20 |[0;0m return []
/Users/admin/builder/spi-builder-workspace/Sources/SKServer/Titan/TitanFormURLEncodedBodyParser/TitanFormURLEncodedBodyParser.swift:26:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m24 |[0;0m }
[0;36m25 |[0;0m
[0;36m26 |[0;0m public var postParams: [String: String] {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m27 |[0;0m var ret = [String: String]()
[0;36m28 |[0;0m guard let bodyString: String = self.body else {
/Users/admin/builder/spi-builder-workspace/Sources/SKServer/Titan/TitanJSON/TitanJSONResponseBody.swift:18:5: [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m16 |[0;0m public extension Response {
[0;36m17 |[0;0m
[0;36m18 |[0;0m public init(code: Int, json: Any) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m19 |[0;0m let jsonData = try JSONSerialization.data(withJSONObject: json, options: [])
[0;36m20 |[0;0m self.init(code: code, body: jsonData, headers: HTTPHeaders(dictionaryLiteral: ("content-type", "application/json")))
/Users/admin/builder/spi-builder-workspace/Sources/SKServer/Titan/TitanJSON/TitanJSONResponseBody.swift:23:5: [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m21 |[0;0m }
[0;36m22 |[0;0m
[0;36m23 |[0;0m public init<T: Encodable>(code: Int, object: T, jsonEncoder: JSONEncoder = JSONEncoder()) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m24 |[0;0m let data = try jsonEncoder.encode(object)
[0;36m25 |[0;0m self.init(code: code, body: data, headers: HTTPHeaders(dictionaryLiteral: ("content-type", "application/json")))
/Users/admin/builder/spi-builder-workspace/Sources/SKServer/Titan/TitanQueryString/TitanQueryString.swift:19:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m17 |[0;0m /// The pairs of keys and values in the query string of the `RequestType`s path.
[0;36m18 |[0;0m /// Complexity: 0(n) on all invocations.
[0;36m19 |[0;0m public var queryPairs: [(key: String, value: String)] {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m20 |[0;0m // Ensure there is a query string, otherwise return
[0;36m21 |[0;0m guard let indexOfQuery = self.path.index(of: "?") else {
/Users/admin/builder/spi-builder-workspace/Sources/SKServer/Titan/TitanQueryString/TitanQueryString.swift:56:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m54 |[0;0m /// Access the query string as a dictionary, with case sensitive keys.
[0;36m55 |[0;0m /// Complexity: 0(n) on all invocations.
[0;36m56 |[0;0m public var query: [String: String] {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m57 |[0;0m var query: [String: String] = [:]
[0;36m58 |[0;0m for (name, value) in self.queryPairs {
/Users/admin/builder/spi-builder-workspace/Sources/SKServer/Model/OAuthResponse.swift:37:79: [1;33mwarning: [1;39m'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m35 |[0;0m internal init(response: [String: Any]?) {
[0;36m36 |[0;0m accessToken = response?["access_token"] as? String
[0;36m37 |[0;0m scope = (response?["scope"] as? String)?.components(separatedBy: ",").flatMap { Scope(rawValue: $0) }
[0;36m|[0;0m |- [1;33mwarning: [1;39m'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39muse 'compactMap(_:)' instead[0;0m
[0;36m38 |[0;0m userID = response?["user_id"] as? String
[0;36m39 |[0;0m teamName = response?["team_name"] as? String
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SKServer/Titan/TitanJSON/TitanJSONResponseBody.swift:18:5: [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m16 |[0;0m public extension Response {
[0;36m17 |[0;0m
[0;36m18 |[0;0m public init(code: Int, json: Any) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m19 |[0;0m let jsonData = try JSONSerialization.data(withJSONObject: json, options: [])
[0;36m20 |[0;0m self.init(code: code, body: jsonData, headers: HTTPHeaders(dictionaryLiteral: ("content-type", "application/json")))
/Users/admin/builder/spi-builder-workspace/Sources/SKServer/Titan/TitanJSON/TitanJSONResponseBody.swift:23:5: [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m21 |[0;0m }
[0;36m22 |[0;0m
[0;36m23 |[0;0m public init<T: Encodable>(code: Int, object: T, jsonEncoder: JSONEncoder = JSONEncoder()) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m24 |[0;0m let data = try jsonEncoder.encode(object)
[0;36m25 |[0;0m self.init(code: code, body: data, headers: HTTPHeaders(dictionaryLiteral: ("content-type", "application/json")))
Build complete.
{
"dependencies" : [
{
"identity" : "skcore",
"requirement" : {
"range" : [
{
"lower_bound" : "4.1.0",
"upper_bound" : "4.2.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/SlackKit/SKCore"
},
{
"identity" : "skwebapi",
"requirement" : {
"range" : [
{
"lower_bound" : "4.1.0",
"upper_bound" : "4.2.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/SlackKit/SKWebAPI"
},
{
"identity" : "swifter",
"requirement" : {
"range" : [
{
"lower_bound" : "1.4.1",
"upper_bound" : "1.5.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/httpswift/swifter.git"
}
],
"manifest_display_name" : "SKServer",
"name" : "SKServer",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "SKServer",
"targets" : [
"SKServer"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SKServer",
"module_type" : "SwiftTarget",
"name" : "SKServer",
"path" : "Sources",
"product_dependencies" : [
"SKCore",
"SKWebAPI",
"Swifter"
],
"product_memberships" : [
"SKServer"
],
"sources" : [
"SKServer/Conformers/SwifterServer.swift",
"SKServer/Middleware/MessageActionMiddleware.swift",
"SKServer/Middleware/OAuthMiddleware.swift",
"SKServer/Middleware/RedirectMiddleware.swift",
"SKServer/Middleware/ResponseMiddleware.swift",
"SKServer/Model/AuthorizeResponse.swift",
"SKServer/Model/IncomingWebhook.swift",
"SKServer/Model/MessageActionRequest.swift",
"SKServer/Model/MessageActionRoute.swift",
"SKServer/Model/OAuthResponse.swift",
"SKServer/Model/RequestRoute.swift",
"SKServer/Model/SKResponse.swift",
"SKServer/Model/WebhookRequest.swift",
"SKServer/SKServer.swift",
"SKServer/SlackKitResponder.swift",
"SKServer/Titan/Titan/Titan.swift",
"SKServer/Titan/Titan404/Titan404.swift",
"SKServer/Titan/TitanCORS/TitanCORS.swift",
"SKServer/Titan/TitanCore/TitanCore.swift",
"SKServer/Titan/TitanCore/TitanError.swift",
"SKServer/Titan/TitanCore/TitanHeader.swift",
"SKServer/Titan/TitanCore/TitanLogs.swift",
"SKServer/Titan/TitanCore/TitanMethod.swift",
"SKServer/Titan/TitanCore/TitanRequest.swift",
"SKServer/Titan/TitanCore/TitanResponse.swift",
"SKServer/Titan/TitanErrorHandling/TitanErrorHandling.swift",
"SKServer/Titan/TitanFormURLEncodedBodyParser/TitanFormURLEncodedBodyParser.swift",
"SKServer/Titan/TitanHealthz/TitanHealthz.swift",
"SKServer/Titan/TitanJSON/TitanJSONRequestBody.swift",
"SKServer/Titan/TitanJSON/TitanJSONResponseBody.swift",
"SKServer/Titan/TitanQueryString/TitanQueryString.swift",
"SKServer/Titan/TitanRouter/InitializerOverloads.swift",
"SKServer/Titan/TitanRouter/PathParameterSupport.swift",
"SKServer/Titan/TitanRouter/TitanParameterizedRoutes.swift",
"SKServer/Titan/TitanRouter/TitanRoutesByMethod.swift",
"SKServer/Titan/TitanRouter/TitanRoutingExtension.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Done.