Build Information
Successful build of SwiftPlantUML, reference 0.8.1 (0f5875), with Swift 6.4 for macOS (SPM) on 20 Sep 2026 08:44:07 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/MarcoEidinger/SwiftPlantUML.git
Reference: 0.8.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/MarcoEidinger/SwiftPlantUML
* tag 0.8.1 -> FETCH_HEAD
HEAD is now at 0f5875e chore: 🤖 0.8.1
Cloned https://github.com/MarcoEidinger/SwiftPlantUML.git
Revision (git rev-parse @):
0f5875ec7d4f1ef9ff98079babed44ccf3437fd6
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/MarcoEidinger/SwiftPlantUML.git at 0.8.1
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/MarcoEidinger/SwiftPlantUML.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 393]
[Planning deferred tasks]
[50 / 165] SwiftPlantUML_SwiftPlantUMLFrameworkTests
[82 / 165]
[95 / 169] SourceKit
[102 / 183]
[110 / 183]
[118 / 184]
[125 / 184] CYaml
[132 / 225] SwiftyBeaver
[134 / 254]
[141 / 254]
[145 / 254]
[146 / 254]
[150 / 254]
[152 / 254]
[155 / 254]
[158 / 254]
[160 / 254]
[161 / 254]
[172 / 254] SwiftyBeaver
[177 / 254] Yams
[189 / 254] SWXMLHash
[205 / 254] Yams-product
[208 / 254] SwiftyBeaver
[210 / 254] SwiftyBeaver
[216 / 254] SwiftyBeaver
[218 / 254] SWXMLHash-product
[224 / 254]
[225 / 255] SWXMLHash
[225 / 255] SwiftyBeaver
[225 / 255] SourceKittenFramework
[242 / 268] SourceKittenFramework
[243 / 268] ArgumentParser
[244 / 268] SourceKittenFramework
[251 / 269] SourceKittenFramework
[253 / 269] SourceKittenFramework
[253 / 269] SwiftPlantUMLFramework
[266 / 314]
[272 / 314]
[276 / 314]
[279 / 314]
[282 / 314]
[284 / 314]
[285 / 314]
[298 / 314] SwiftPlantUMLFramework
[307 / 315] SwiftPlantUMLFramework
[307 / 315] swiftplantuml-product
[313 / 321] swiftplantuml-product
[314 / 321] swiftplantuml-product
[315 / 321] SwiftPlantUMLFramework
[319 / 321] swiftplantuml-product
Build complete! (13.91 sec)
Fetching https://github.com/SwiftyBeaver/SwiftyBeaver.git
Fetching https://github.com/jpsim/SourceKitten
Fetching https://github.com/apple/swift-argument-parser.git
[1/4084] Fetching swiftybeaver
[1349/23002] Fetching swiftybeaver, swift-argument-parser
[7053/39355] Fetching swiftybeaver, swift-argument-parser, sourcekitten
Fetched https://github.com/apple/swift-argument-parser.git (2.60s)
Fetched https://github.com/SwiftyBeaver/SwiftyBeaver.git (2.60s)
Fetched https://github.com/jpsim/SourceKitten (2.60s)
Computing version for https://github.com/SwiftyBeaver/SwiftyBeaver.git
Computed https://github.com/SwiftyBeaver/SwiftyBeaver.git at 1.9.5 (3.31s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.0.3 (0.68s)
Computing version for https://github.com/jpsim/SourceKitten
Computed https://github.com/jpsim/SourceKitten at 0.32.0 (0.66s)
Fetching https://github.com/drmohundro/SWXMLHash.git
Fetching https://github.com/jpsim/Yams.git
[1/2876] Fetching swxmlhash
[260/14737] Fetching swxmlhash, yams
Fetched https://github.com/jpsim/Yams.git (4.47s)
Fetched https://github.com/drmohundro/SWXMLHash.git (4.47s)
Computing version for https://github.com/jpsim/Yams.git
Computed https://github.com/jpsim/Yams.git at 4.0.6 (5.18s)
Computing version for https://github.com/drmohundro/SWXMLHash.git
Computed https://github.com/drmohundro/SWXMLHash.git at 6.0.0 (0.66s)
Creating working copy for https://github.com/jpsim/SourceKitten
Working copy of https://github.com/jpsim/SourceKitten resolved at 0.32.0
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.0.3
Creating working copy for https://github.com/drmohundro/SWXMLHash.git
Working copy of https://github.com/drmohundro/SWXMLHash.git resolved at 6.0.0
Creating working copy for https://github.com/SwiftyBeaver/SwiftyBeaver.git
Working copy of https://github.com/SwiftyBeaver/SwiftyBeaver.git resolved at 1.9.5
Creating working copy for https://github.com/jpsim/Yams.git
Working copy of https://github.com/jpsim/Yams.git resolved at 4.0.6
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPlantUMLFramework/Configuration/Stereotype.swift:66:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'Character' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future[0;0m
[0;36m64 |[0;0m
[0;36m65 |[0;0m /// :nodoc:
[0;36m66 |[0;0m extension Character: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'Character' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m67 |[0;0m /// :nodoc:
[0;36m68 |[0;0m public init(from decoder: Decoder) throws {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPlantUMLFramework/Internal/SyntaxStructure+Extensions.swift:25:17: [1;33mwarning: [1;39mvariable 'parent' was never mutated; consider changing to 'let' constant[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
[0;36m23 |[0;0m continue
[0;36m24 |[0;0m }
[0;36m25 |[0;0m var parent = processedItems[parentIndex]
[0;36m|[0;0m `- [1;33mwarning: [1;39mvariable 'parent' was never mutated; consider changing to 'let' constant[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
[0;36m26 |[0;0m // in case main declaration cannot be found for an extension then extension might find itself. Do not merge with itself :)
[0;36m27 |[0;0m guard structure != parent else { continue }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPlantUMLFramework/Internal/SyntaxStructure+Extensions.swift:30:23: [1;33mwarning: [1;39mvariable 'members' was never mutated; consider changing to 'let' constant[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
[0;36m28 |[0;0m processedItems.removeAll(where: { $0 == structure })
[0;36m29 |[0;0m // merge members of extension with main declaration (or: the first extension if no main declaration was found)
[0;36m30 |[0;0m guard var members = structure.substructure else { continue }
[0;36m|[0;0m `- [1;33mwarning: [1;39mvariable 'members' was never mutated; consider changing to 'let' constant[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
[0;36m31 |[0;0m if let memberSuffix = mergedMemberIndicator, parent.kind != .extension {
[0;36m32 |[0;0m for index in members.indices {
[#VariableNeverMutated]: <https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPlantUMLFramework/Configuration/Stereotype.swift:66:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'Character' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future[0;0m
[0;36m64 |[0;0m
[0;36m65 |[0;0m /// :nodoc:
[0;36m66 |[0;0m extension Character: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'Character' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m67 |[0;0m /// :nodoc:
[0;36m68 |[0;0m public init(from decoder: Decoder) throws {
/Users/admin/builder/spi-builder-workspace/Sources/swiftplantuml/Commands/ClassDiagram.swift:84:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'ClassDiagramOutput' to imported protocol 'ExpressibleByArgument'; this will not behave correctly if the owners of 'SwiftPlantUMLFramework' introduce this conformance in the future[0;0m
[0;36m82 |[0;0m }
[0;36m83 |[0;0m
[0;36m84 |[0;0m extension ClassDiagramOutput: ExpressibleByArgument {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'ClassDiagramOutput' to imported protocol 'ExpressibleByArgument'; this will not behave correctly if the owners of 'SwiftPlantUMLFramework' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m85 |[0;0m
[0;36m86 |[0;0m enum ExtensionVisualization: EnumerableFlag {
/Users/admin/builder/spi-builder-workspace/Sources/swiftplantuml/Commands/ClassDiagram.swift:84:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'ClassDiagramOutput' to imported protocol 'ExpressibleByArgument'; this will not behave correctly if the owners of 'SwiftPlantUMLFramework' introduce this conformance in the future[0;0m
[0;36m82 |[0;0m }
[0;36m83 |[0;0m
[0;36m84 |[0;0m extension ClassDiagramOutput: ExpressibleByArgument {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'ClassDiagramOutput' to imported protocol 'ExpressibleByArgument'; this will not behave correctly if the owners of 'SwiftPlantUMLFramework' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m85 |[0;0m
[0;36m86 |[0;0m enum ExtensionVisualization: EnumerableFlag {
Build complete.
{
"dependencies" : [
{
"identity" : "sourcekitten",
"requirement" : {
"range" : [
{
"lower_bound" : "0.31.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/jpsim/SourceKitten"
},
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.1",
"upper_bound" : "1.1.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser.git"
},
{
"identity" : "swiftybeaver",
"requirement" : {
"exact" : [
"1.9.5"
]
},
"type" : "sourceControl",
"url" : "https://github.com/SwiftyBeaver/SwiftyBeaver.git"
}
],
"manifest_display_name" : "SwiftPlantUML",
"name" : "SwiftPlantUML",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.11"
}
],
"products" : [
{
"name" : "SwiftPlantUMLFramework",
"targets" : [
"SwiftPlantUMLFramework"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "swiftplantuml",
"targets" : [
"swiftplantuml"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "swiftplantuml",
"module_type" : "SwiftTarget",
"name" : "swiftplantuml",
"path" : "Sources/swiftplantuml",
"product_dependencies" : [
"ArgumentParser",
"SwiftyBeaver"
],
"product_memberships" : [
"swiftplantuml"
],
"sources" : [
"Commands/ClassDiagram.swift",
"Commands/SwiftPlantUML.swift",
"Commands/Version.swift",
"Utilities/Logger.swift",
"main.swift"
],
"target_dependencies" : [
"SwiftPlantUMLFramework"
],
"type" : "executable"
},
{
"c99name" : "SwiftPlantUMLFrameworkTests",
"module_type" : "SwiftTarget",
"name" : "SwiftPlantUMLFrameworkTests",
"path" : "Tests/SwiftPlantUMLFrameworkTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftPlantUMLFrameworkTests/TestData",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"ClassDiagramGeneratorTests.swift",
"ColorTests.swift",
"ConfigurationProviderTests.swift",
"ConfigurationTests.swift",
"ElementAccessibilityTests.swift",
"ExtensionVisualizationTests.swift",
"FileCollectorTests.swift",
"FileOptionTests.swift",
"GlobTests.swift",
"Logger+Tests.swift",
"PageTextsTests.swift",
"PlantUMLBrowserPresenterTests.swift",
"PlantUMLConsolePresenterTests.swift",
"PlantUMLContextTests.swift",
"PlantUMLScriptTests.swift",
"PlantUMLTextTests.swift",
"RelationshipStyleTests.swift",
"StereotypeTests.swift",
"StringExtensionsTests.swift",
"SwiftPlantUMLFrameworkTests.swift",
"SyntaxStructureTests.swift",
"ThemeTests.swift",
"VersionTests.swift",
"XCTestCase+BundlePath.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"SwiftPlantUMLFramework"
],
"type" : "test"
},
{
"c99name" : "SwiftPlantUMLFramework",
"module_type" : "SwiftTarget",
"name" : "SwiftPlantUMLFramework",
"path" : "Sources/SwiftPlantUMLFramework",
"product_dependencies" : [
"SourceKittenFramework"
],
"product_memberships" : [
"SwiftPlantUMLFramework",
"swiftplantuml"
],
"sources" : [
"ClassDiagramGenerator.swift",
"Configuration/ClassDiagramOutput.swift",
"Configuration/Color.swift",
"Configuration/Configuration.swift",
"Configuration/ConfigurationProvider.swift",
"Configuration/ElementOptions.swift",
"Configuration/ExtensionVisualization.swift",
"Configuration/FileOptions.swift",
"Configuration/PageTexts.swift",
"Configuration/RelationshipOptions.swift",
"Configuration/RelationshipStyle.swift",
"Configuration/Stereotype.swift",
"Configuration/Theme.swift",
"FileManagement/FileCollector.swift",
"FileManagement/Glob.swift",
"Internal/ConfigFileWriter.swift",
"Internal/ElementAccessibility+Extensions.swift",
"Internal/PlantUMLContext.swift",
"Internal/String+Extensions.swift",
"Internal/SyntaxStructure+Extensions.swift",
"Internal/SyntaxStructure+PlantUML.swift",
"Internal/SyntaxStructure.swift",
"Internal/SyntaxStructureProvider.swift",
"Logging/Logger.swift",
"Logging/NoLogger.swift",
"PlantUMLScript.swift",
"PlantUMLText.swift",
"Presenting/PlantUMLBrowserPresenter.swift",
"Presenting/PlantUMLConsolePresenter.swift",
"Presenting/PlantUMLPresenting.swift",
"Version.swift"
],
"type" : "library"
}
],
"tools_version" : "5.3"
}
Done.