The Swift Package Index logo.Swift Package Index

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 arm64

Build 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.