Build Information
Successful build of NodeSwiftLogging, reference main (c05928), with Swift 6.4 for macOS (SPM) on 22 Sep 2026 04:46:43 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/stevengharris/NodeSwiftLogging.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/stevengharris/NodeSwiftLogging
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at c05928d Fix typo in README
Cloned https://github.com/stevengharris/NodeSwiftLogging.git
Revision (git rev-parse @):
c05928d8bd767d48adcef1bdb353f015e44f3773
SUCCESS checkout https://github.com/stevengharris/NodeSwiftLogging.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/stevengharris/NodeSwiftLogging.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]
[42 / 75]
[45 / 77] CNodeAPISupport
[51 / 86]
[61 / 132]
[66 / 132] CNodeAPISupport
[71 / 132]
[74 / 132]
[86 / 132] Logging
[87 / 132]
[90 / 132] Logging
[97 / 132]
[99 / 132]
[110 / 132] NodeAPIMacros
[113 / 132] NodeAPIMacros
[116 / 133] NodeAPI
[123 / 157]
[126 / 157]
[128 / 157]
[129 / 157]
[140 / 157] NodeAPI
[147 / 158] NodeAPI
[147 / 158] NodeSwiftLogging
[156 / 200]
[158 / 200]
[160 / 200]
[166 / 200]
[170 / 200] NodeAPI
[170 / 200]
[174 / 200]
[176 / 200]
[179 / 200]
[182 / 200]
[184 / 200]
[185 / 200]
[191 / 200] NodeSwiftLogging
[200 / 200] NodeSwiftLogging-product
Build complete! (10.41 sec)
Fetching https://github.com/kabiroberai/node-swift.git
Fetching https://github.com/apple/swift-log.git
[1/2405] Fetching node-swift
[2/10537] Fetching node-swift, swift-log
Fetched https://github.com/apple/swift-log.git (1.37s)
Fetched https://github.com/kabiroberai/node-swift.git (1.37s)
Computing version for https://github.com/kabiroberai/node-swift.git
Computed https://github.com/kabiroberai/node-swift.git at 1.5.2 (4.25s)
Fetching https://github.com/swiftlang/swift-syntax.git
[1/80002] Fetching swift-syntax
Fetched https://github.com/swiftlang/swift-syntax.git (5.95s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 603.0.2 (8.21s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.15.1 (0.57s)
Creating working copy for https://github.com/kabiroberai/node-swift.git
Working copy of https://github.com/kabiroberai/node-swift.git resolved at 1.5.2
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.15.1
Creating working copy for https://github.com/swiftlang/swift-syntax.git
Working copy of https://github.com/swiftlang/swift-syntax.git resolved at 603.0.2
Downloading package prebuilt https://download.swift.org/prebuilts/swift-syntax/603.0.2/swiftlang-6.4.0.34.1-macosx27.0-MacroSupport.zip
Downloaded https://download.swift.org/prebuilts/swift-syntax/603.0.2/swiftlang-6.4.0.34.1-macosx27.0-MacroSupport.zip (0.21s)
macro expansion @NodeConstructor:2:49: [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole') may introduce data races[0;0m
`- /Users/admin/builder/spi-builder-workspace/Sources/NodeConsole.swift:52:6: [1;39mnote: [1;39mexpanded code originates here[0;0m
[0;36m45 |[0;0m /// });
[0;36m46 |[0;0m @NodeActor
[0;36m47 |[0;0m [4;39m @NodeConstructor[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39min expansion of macro 'NodeConstructor' on initializer 'init(callback:)' here[0;0m
[0;36m48 |[0;0m public init(callback: NodeFunction) throws {
[0;36m49 |[0;0m nodeQueue = try NodeAsyncQueue(label: "nodeConsoleQueue")
[0;36m50 |[0;0m self.callback = callback
[0;36m51 |[0;0m Self.console = self
[0;36m52 |[0;0m }
[0;36m +--- [0;0mmacro expansion @NodeConstructor [0;36m-------------------------------[0;0m
[0;36m |[0;0m[0;36m1 |[0;0m @NodeActor public static let construct
[0;36m |[0;0m[0;36m2 |[0;0m = NodeConstructor(_NodeSelf.init(callback:) as @NodeActor (NodeFunction) throws -> _NodeSelf)
[0;36m |[0;0m [0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole') may introduce data races[0;0m
[0;36m +-------------------------------------[0;0m[0;36m-------------------------------[0;0m
[0;36m53 |[0;0m
[0;36m54 |[0;0m /// Run the `callback` on the `nodeQueue`, passing the `message`.
/Users/admin/builder/spi-builder-workspace/Sources/NodeLogHandler.swift:11:15: [1;33mwarning: [1;39mdeprecated default implementation is used to satisfy instance method 'log(event:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m9 |[0;0m
[0;36m10 |[0;0m /// A SwiftLog backend that logs to node.js
[0;36m11 |[0;0m public struct NodeLogHandler: LogHandler, Sendable {
[0;36m|[0;0m `- [1;33mwarning: [1;39mdeprecated default implementation is used to satisfy instance method 'log(event:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m12 |[0;0m
[0;36m13 |[0;0m public var logLevel: Logging.Logger.Level
Logging.LogHandler.log:3:15: [1;39mnote: [1;39m'log(event:)' declared here[0;0m
[0;36m1 |[0;0m protocol LogHandler {
[0;36m2 |[0;0m @available(*, deprecated, message: "You should implement this method instead of using the default implementation")
[0;36m3 |[0;0m public func log(event: Logging.LogEvent)}
[0;36m|[0;0m `- [1;39mnote: [1;39m'log(event:)' declared here[0;0m
[0;36m4 |[0;0m
Logging.LogHandler.log:2:6: [1;39mnote: [1;39mrequirement 'log(event:)' declared here[0;0m
[0;36m1 |[0;0m protocol LogHandler {
[0;36m2 |[0;0m func log(event: Logging.LogEvent)}
[0;36m|[0;0m `- [1;39mnote: [1;39mrequirement 'log(event:)' declared here[0;0m
[0;36m3 |[0;0m
macro expansion @NodeConstructor:2:60: [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction, String?) throws -> NodeLogger._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction, Optional<String>) throws -> NodeLogger') may introduce data races[0;0m
`- /Users/admin/builder/spi-builder-workspace/Sources/NodeLogger.swift:67:6: [1;39mnote: [1;39mexpanded code originates here[0;0m
[0;36m51 |[0;0m /// - jsonConfig: The JSON stringified NodeLoggerConfig from node.js if needed.
[0;36m52 |[0;0m @NodeActor
[0;36m53 |[0;0m [4;39m @NodeConstructor[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39min expansion of macro 'NodeConstructor' on initializer 'init(callback:jsonConfig:)' here[0;0m
[0;36m54 |[0;0m init(callback: NodeFunction, jsonConfig: String? = nil) throws {
[0;36m55 |[0;0m nodeQueue = try NodeAsyncQueue(label: "nodeLoggerQueue")
[0;36m:[0;0m
[0;36m65 |[0;0m self.logger = logger
[0;36m66 |[0;0m Self.nodeLogger = self
[0;36m67 |[0;0m }
[0;36m +--- [0;0mmacro expansion @NodeConstructor [0;36m-------------------------------[0;0m
[0;36m |[0;0m[0;36m1 |[0;0m @NodeActor public static let construct
[0;36m |[0;0m[0;36m2 |[0;0m = NodeConstructor(_NodeSelf.init(callback:jsonConfig:) as @NodeActor (NodeFunction, String? ) throws -> _NodeSelf)
[0;36m |[0;0m [0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction, String?) throws -> NodeLogger._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction, Optional<String>) throws -> NodeLogger') may introduce data races[0;0m
[0;36m +-------------------------------------[0;0m[0;36m-------------------------------[0;0m
[0;36m68 |[0;0m
[0;36m69 |[0;0m /// Pass the log data from provided by the Logger to node.js.
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/NodeLogHandler.swift:11:15: [1;33mwarning: [1;39mdeprecated default implementation is used to satisfy instance method 'log(event:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m9 |[0;0m
[0;36m10 |[0;0m /// A SwiftLog backend that logs to node.js
[0;36m11 |[0;0m public struct NodeLogHandler: LogHandler, Sendable {
[0;36m|[0;0m `- [1;33mwarning: [1;39mdeprecated default implementation is used to satisfy instance method 'log(event:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m12 |[0;0m
[0;36m13 |[0;0m public var logLevel: Logging.Logger.Level
Logging.LogHandler.log:3:15: [1;39mnote: [1;39m'log(event:)' declared here[0;0m
[0;36m1 |[0;0m protocol LogHandler {
[0;36m2 |[0;0m @available(*, deprecated, message: "You should implement this method instead of using the default implementation")
[0;36m3 |[0;0m public func log(event: Logging.LogEvent)}
[0;36m|[0;0m `- [1;39mnote: [1;39m'log(event:)' declared here[0;0m
[0;36m4 |[0;0m
Logging.LogHandler.log:2:6: [1;39mnote: [1;39mrequirement 'log(event:)' declared here[0;0m
[0;36m1 |[0;0m protocol LogHandler {
[0;36m2 |[0;0m func log(event: Logging.LogEvent)}
[0;36m|[0;0m `- [1;39mnote: [1;39mrequirement 'log(event:)' declared here[0;0m
[0;36m3 |[0;0m
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
macro expansion @NodeConstructor:2:49: [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole') may introduce data races[0;0m
`- /Users/admin/builder/spi-builder-workspace/Sources/NodeConsole.swift:52:6: [1;39mnote: [1;39mexpanded code originates here[0;0m
[0;36m45 |[0;0m /// });
[0;36m46 |[0;0m @NodeActor
[0;36m47 |[0;0m [4;39m @NodeConstructor[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39min expansion of macro 'NodeConstructor' on initializer 'init(callback:)' here[0;0m
[0;36m48 |[0;0m public init(callback: NodeFunction) throws {
[0;36m49 |[0;0m nodeQueue = try NodeAsyncQueue(label: "nodeConsoleQueue")
[0;36m50 |[0;0m self.callback = callback
[0;36m51 |[0;0m Self.console = self
[0;36m52 |[0;0m }
[0;36m +--- [0;0mmacro expansion @NodeConstructor [0;36m-------------------------------[0;0m
[0;36m |[0;0m[0;36m1 |[0;0m @NodeActor public static let construct
[0;36m |[0;0m[0;36m2 |[0;0m = NodeConstructor(_NodeSelf.init(callback:) as @NodeActor (NodeFunction) throws -> _NodeSelf)
[0;36m |[0;0m [0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole') may introduce data races[0;0m
[0;36m +-------------------------------------[0;0m[0;36m-------------------------------[0;0m
[0;36m53 |[0;0m
[0;36m54 |[0;0m /// Run the `callback` on the `nodeQueue`, passing the `message`.
macro expansion @NodeConstructor:2:60: [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction, String?) throws -> NodeLogger._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction, Optional<String>) throws -> NodeLogger') may introduce data races[0;0m
`- /Users/admin/builder/spi-builder-workspace/Sources/NodeLogger.swift:67:6: [1;39mnote: [1;39mexpanded code originates here[0;0m
[0;36m51 |[0;0m /// - jsonConfig: The JSON stringified NodeLoggerConfig from node.js if needed.
[0;36m52 |[0;0m @NodeActor
[0;36m53 |[0;0m [4;39m @NodeConstructor[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39min expansion of macro 'NodeConstructor' on initializer 'init(callback:jsonConfig:)' here[0;0m
[0;36m54 |[0;0m init(callback: NodeFunction, jsonConfig: String? = nil) throws {
[0;36m55 |[0;0m nodeQueue = try NodeAsyncQueue(label: "nodeLoggerQueue")
[0;36m:[0;0m
[0;36m65 |[0;0m self.logger = logger
[0;36m66 |[0;0m Self.nodeLogger = self
[0;36m67 |[0;0m }
[0;36m +--- [0;0mmacro expansion @NodeConstructor [0;36m-------------------------------[0;0m
[0;36m |[0;0m[0;36m1 |[0;0m @NodeActor public static let construct
[0;36m |[0;0m[0;36m2 |[0;0m = NodeConstructor(_NodeSelf.init(callback:jsonConfig:) as @NodeActor (NodeFunction, String? ) throws -> _NodeSelf)
[0;36m |[0;0m [0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction, String?) throws -> NodeLogger._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction, Optional<String>) throws -> NodeLogger') may introduce data races[0;0m
[0;36m +-------------------------------------[0;0m[0;36m-------------------------------[0;0m
[0;36m68 |[0;0m
[0;36m69 |[0;0m /// Pass the log data from provided by the Logger to node.js.
Build complete.
{
"dependencies" : [
{
"identity" : "node-swift",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/kabiroberai/node-swift.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
}
],
"manifest_display_name" : "NodeSwiftLogging",
"name" : "NodeSwiftLogging",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "NodeSwiftLogging",
"targets" : [
"NodeSwiftLogging"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "NodeSwiftLogging",
"module_type" : "SwiftTarget",
"name" : "NodeSwiftLogging",
"path" : "Sources",
"product_dependencies" : [
"NodeAPI",
"Logging"
],
"product_memberships" : [
"NodeSwiftLogging"
],
"sources" : [
"NodeConsole.swift",
"NodeLogHandler.swift",
"NodeLogger.swift",
"NodeLoggerConfig.swift",
"NodeLoggerData.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.