Build Information
Successful build of SKServer, reference master (484c76), with Swift 6.4 for macOS (SPM) on 17 Sep 2026 01:45:47 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: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/pvzig/SKServer
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 484c763 Update README.md
Cloned https://github.com/pvzig/SKServer.git
Revision (git rev-parse @):
484c763854a4b19313645eaa3799e2215dbfb878
SUCCESS checkout https://github.com/pvzig/SKServer.git at master
========================================
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]
[62 / 128]
[71 / 133]
[73 / 133]
[84 / 133]
[86 / 133]
[90 / 133]
[92 / 133]
[95 / 133]
[98 / 133] SKCore
[100 / 133]
[104 / 133]
[105 / 133]
[116 / 133] Swifter
[122 / 133] Swifter
[131 / 145] SKServer
[133 / 145] SKServer
[140 / 145] SKServer
[142 / 145] SKServer
Build complete! (8.61 sec)
Fetching https://github.com/httpswift/swifter.git
Fetching https://github.com/pvzig/SKWebAPI
Fetching https://github.com/pvzig/SKCore
[1/6050] Fetching swifter
[2/6344] Fetching swifter, skwebapi
[1989/6632] Fetching swifter, skwebapi, skcore
Fetched https://github.com/pvzig/SKCore (1.35s)
Fetched https://github.com/pvzig/SKWebAPI (1.35s)
[2965/6050] Fetching swifter
Fetched https://github.com/httpswift/swifter.git (1.76s)
Computing version for https://github.com/pvzig/SKWebAPI
Computed https://github.com/pvzig/SKWebAPI at 4.1.3 (2.58s)
Computing version for https://github.com/pvzig/SKCore
Computed https://github.com/pvzig/SKCore at 4.1.3 (0.69s)
Computing version for https://github.com/httpswift/swifter.git
Computed https://github.com/httpswift/swifter.git at 1.4.7 (2.25s)
Creating working copy for https://github.com/pvzig/SKWebAPI
Working copy of https://github.com/pvzig/SKWebAPI 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
Creating working copy for https://github.com/pvzig/SKCore
Working copy of https://github.com/pvzig/SKCore resolved at 4.1.3
warning: 'skwebapi': Conflicting identity for skcore: dependency 'github.com/slackkit/skcore' and dependency 'github.com/pvzig/skcore' both point to the same package identity 'skcore'. The dependencies are introduced through the following chains: (A) /users/admin/builder/spi-builder-workspace->github.com/pvzig/skwebapi->github.com/slackkit/skcore (B) /users/admin/builder/spi-builder-workspace->github.com/pvzig/skcore. If there are multiple chains that lead to the same dependency, only the first chain is shown here. To see all chains use debug output option. To resolve the conflict, coordinate with the maintainer of the package that introduces the conflicting dependency. This will be escalated to an error in future versions of SwiftPM.
warning: 'skwebapi': Conflicting identity for skcore: dependency 'github.com/slackkit/skcore' and dependency 'github.com/pvzig/skcore' both point to the same package identity 'skcore'. The dependencies are introduced through the following chains: (A) /users/admin/builder/spi-builder-workspace->github.com/pvzig/skwebapi->github.com/slackkit/skcore (B) /users/admin/builder/spi-builder-workspace->github.com/pvzig/skcore. If there are multiple chains that lead to the same dependency, only the first chain is shown here. To see all chains use debug output option. To resolve the conflict, coordinate with the maintainer of the package that introduces the conflicting dependency. This will be escalated to an error in future versions of SwiftPM.
/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/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/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>
Build complete.
{
"dependencies" : [
{
"identity" : "skcore",
"requirement" : {
"range" : [
{
"lower_bound" : "4.1.0",
"upper_bound" : "4.2.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/pvzig/SKCore"
},
{
"identity" : "skwebapi",
"requirement" : {
"range" : [
{
"lower_bound" : "4.1.0",
"upper_bound" : "4.2.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/pvzig/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.