Build Information
Successful build of napkin, reference 2.1.7 (e1f947), with Swift 6.4 for macOS (SPM) on 26 Sep 2026 08:41:24 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/WikipediaBrown/napkin.git
Reference: 2.1.7
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/WikipediaBrown/napkin
* tag 2.1.7 -> FETCH_HEAD
HEAD is now at e1f947b Merge pull request #166 from WikipediaBrown/develop
Cloned https://github.com/WikipediaBrown/napkin.git
Revision (git rev-parse @):
e1f947bdd5b4c2c169a9a9e585ce9ae554340caf
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/WikipediaBrown/napkin.git at 2.1.7
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/WikipediaBrown/napkin.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 / 443]
[Planning deferred tasks]
[55 / 184] CounterView-product
[84 / 184]
[85 / 185] napkin
[95 / 258]
[98 / 258]
[106 / 258]
[108 / 258]
[109 / 258]
[114 / 258]
[117 / 258]
[120 / 258]
[125 / 258]
[128 / 258]
[130 / 258]
[131 / 258]
[140 / 258]
[142 / 258]
[143 / 258]
[146 / 258]
[147 / 258]
[158 / 258] napkin
[159 / 258] napkin
[169 / 259] ServiceInjection-product
[170 / 265]
[172 / 265]
[173 / 265]
[175 / 265] TestingAnInteractor-product
[176 / 265] TestingAnInteractor-product
[205 / 274] HeadlessParent-product
[208 / 278] ServiceInjection-product
[214 / 292]
[221 / 292] NotEverythingBecomesAStream-product
[226 / 292] EventStreaming-product
[235 / 297]
[242 / 297] ObservableStateStreaming-product
[247 / 299] CounterView-product
[249 / 299] CounterBuilder-product
[251 / 301] napkin
[260 / 301] napkin-product
[264 / 305] ObservableStateStreaming-product
[275 / 305] ServiceInjection-product
[286 / 305] ChildSwap-product
[289 / 305] CounterViewController-product
[295 / 305] ChildSwap-product
[297 / 305] CounterViewController-product
[303 / 305] AuthStateStreaming-product
Build complete! (15.21 sec)
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin (2.85s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (5.93s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3830] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (1.38s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.12s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
warning: upcoming feature 'RegionBasedIsolation' already enabled as of the Swift 6 language mode
warning: upcoming feature 'IsolatedDefaultValues' already enabled as of the Swift 6 language mode
Build complete.
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.4.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-docc-plugin"
}
],
"manifest_display_name" : "napkin",
"name" : "napkin",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "26.0"
},
{
"name" : "macos",
"version" : "26.0"
}
],
"products" : [
{
"name" : "napkin",
"targets" : [
"napkin"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "HeadlessParent",
"targets" : [
"HeadlessParent"
],
"type" : {
"snippet" : null
}
},
{
"name" : "ServiceInjection",
"targets" : [
"ServiceInjection"
],
"type" : {
"snippet" : null
}
},
{
"name" : "ChildSwap",
"targets" : [
"ChildSwap"
],
"type" : {
"snippet" : null
}
},
{
"name" : "TestingAnInteractor",
"targets" : [
"TestingAnInteractor"
],
"type" : {
"snippet" : null
}
},
{
"name" : "CounterInteractor",
"targets" : [
"CounterInteractor"
],
"type" : {
"snippet" : null
}
},
{
"name" : "CounterBuilder",
"targets" : [
"CounterBuilder"
],
"type" : {
"snippet" : null
}
},
{
"name" : "CounterViewController",
"targets" : [
"CounterViewController"
],
"type" : {
"snippet" : null
}
},
{
"name" : "CounterView",
"targets" : [
"CounterView"
],
"type" : {
"snippet" : null
}
},
{
"name" : "CounterRouter",
"targets" : [
"CounterRouter"
],
"type" : {
"snippet" : null
}
},
{
"name" : "ObservableStateStreaming",
"targets" : [
"ObservableStateStreaming"
],
"type" : {
"snippet" : null
}
},
{
"name" : "NotEverythingBecomesAStream",
"targets" : [
"NotEverythingBecomesAStream"
],
"type" : {
"snippet" : null
}
},
{
"name" : "EventStreaming",
"targets" : [
"EventStreaming"
],
"type" : {
"snippet" : null
}
},
{
"name" : "AuthStateStreaming",
"targets" : [
"AuthStateStreaming"
],
"type" : {
"snippet" : null
}
}
],
"targets" : [
{
"c99name" : "napkinTests",
"module_type" : "SwiftTarget",
"name" : "napkinTests",
"path" : "Tests/napkinTests",
"sources" : [
"BuilderTests.swift",
"ComponentTests.swift",
"ComponentizedBuilderTests.swift",
"InteractorTests.swift",
"LaunchRouterTests.swift",
"MultiStageComponentizedBuilderTests.swift",
"PresentableInteractorTests.swift",
"PresenterTests.swift",
"RouterTests.swift",
"ViewControllableTests.swift",
"ViewableRouterTests.swift",
"napkinTests.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "test"
},
{
"c99name" : "napkin",
"module_type" : "SwiftTarget",
"name" : "napkin",
"path" : "Sources/napkin",
"product_memberships" : [
"napkin",
"HeadlessParent",
"ServiceInjection",
"ChildSwap",
"TestingAnInteractor",
"CounterInteractor",
"CounterBuilder",
"CounterViewController",
"CounterView",
"CounterRouter",
"ObservableStateStreaming",
"NotEverythingBecomesAStream",
"EventStreaming",
"AuthStateStreaming"
],
"sources" : [
"Builder.swift",
"ComponentizedBuilder.swift",
"DI/Component.swift",
"DI/Dependency.swift",
"Dispatch.swift",
"Interactor.swift",
"InteractorLifecycle.swift",
"LaunchRouter.swift",
"MultiStageComponentizedBuilder.swift",
"Presenter.swift",
"Router.swift",
"ViewControllable.swift",
"ViewableRouter.swift"
],
"type" : "library"
},
{
"c99name" : "HeadlessParent",
"module_type" : "SwiftTarget",
"name" : "HeadlessParent",
"path" : "Snippets/Patterns",
"product_memberships" : [
"HeadlessParent"
],
"sources" : [
"HeadlessParent.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "snippet"
},
{
"c99name" : "ServiceInjection",
"module_type" : "SwiftTarget",
"name" : "ServiceInjection",
"path" : "Snippets/Patterns",
"product_memberships" : [
"ServiceInjection"
],
"sources" : [
"ServiceInjection.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "snippet"
},
{
"c99name" : "ChildSwap",
"module_type" : "SwiftTarget",
"name" : "ChildSwap",
"path" : "Snippets/Patterns",
"product_memberships" : [
"ChildSwap"
],
"sources" : [
"ChildSwap.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "snippet"
},
{
"c99name" : "TestingAnInteractor",
"module_type" : "SwiftTarget",
"name" : "TestingAnInteractor",
"path" : "Snippets/Patterns",
"product_memberships" : [
"TestingAnInteractor"
],
"sources" : [
"TestingAnInteractor.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "snippet"
},
{
"c99name" : "CounterInteractor",
"module_type" : "SwiftTarget",
"name" : "CounterInteractor",
"path" : "Snippets/DefiningAFeature",
"product_memberships" : [
"CounterInteractor"
],
"sources" : [
"CounterInteractor.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "snippet"
},
{
"c99name" : "CounterBuilder",
"module_type" : "SwiftTarget",
"name" : "CounterBuilder",
"path" : "Snippets/DefiningAFeature",
"product_memberships" : [
"CounterBuilder"
],
"sources" : [
"CounterBuilder.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "snippet"
},
{
"c99name" : "CounterViewController",
"module_type" : "SwiftTarget",
"name" : "CounterViewController",
"path" : "Snippets/DefiningAFeature",
"product_memberships" : [
"CounterViewController"
],
"sources" : [
"CounterViewController.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "snippet"
},
{
"c99name" : "CounterView",
"module_type" : "SwiftTarget",
"name" : "CounterView",
"path" : "Snippets/DefiningAFeature",
"product_memberships" : [
"CounterView"
],
"sources" : [
"CounterView.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "snippet"
},
{
"c99name" : "CounterRouter",
"module_type" : "SwiftTarget",
"name" : "CounterRouter",
"path" : "Snippets/DefiningAFeature",
"product_memberships" : [
"CounterRouter"
],
"sources" : [
"CounterRouter.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "snippet"
},
{
"c99name" : "ObservableStateStreaming",
"module_type" : "SwiftTarget",
"name" : "ObservableStateStreaming",
"path" : "Snippets/Streaming",
"product_memberships" : [
"ObservableStateStreaming"
],
"sources" : [
"ObservableStateStreaming.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "snippet"
},
{
"c99name" : "NotEverythingBecomesAStream",
"module_type" : "SwiftTarget",
"name" : "NotEverythingBecomesAStream",
"path" : "Snippets/Streaming",
"product_memberships" : [
"NotEverythingBecomesAStream"
],
"sources" : [
"NotEverythingBecomesAStream.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "snippet"
},
{
"c99name" : "EventStreaming",
"module_type" : "SwiftTarget",
"name" : "EventStreaming",
"path" : "Snippets/Streaming",
"product_memberships" : [
"EventStreaming"
],
"sources" : [
"EventStreaming.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "snippet"
},
{
"c99name" : "AuthStateStreaming",
"module_type" : "SwiftTarget",
"name" : "AuthStateStreaming",
"path" : "Snippets/Streaming",
"product_memberships" : [
"AuthStateStreaming"
],
"sources" : [
"AuthStateStreaming.swift"
],
"target_dependencies" : [
"napkin"
],
"type" : "snippet"
}
],
"tools_version" : "6.2"
}
Done.