The Swift Package Index logo.Swift Package Index

Build Information

Successful build of VIPER, reference 0.7.0 (2c44cc), with Swift 6.3 for macOS (SPM) on 12 Apr 2026 09:26:35 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/thomverbeek/VIPER.git
Reference: 0.7.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/thomverbeek/VIPER
 * tag               0.7.0      -> FETCH_HEAD
HEAD is now at 2c44cce Merge pull request #1 from thomverbeek/develop
Cloned https://github.com/thomverbeek/VIPER.git
Revision (git rev-parse @):
2c44cce00daf5bf99b0fbdf58fbc9fac3397f1fa
SUCCESS checkout https://github.com/thomverbeek/VIPER.git at 0.7.0
Fetching https://github.com/apple/swift-argument-parser
[1/17523] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (2.30s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 0.0.5 (3.01s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 0.0.5
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "viper",
      "name": "VIPER",
      "url": "https://github.com/thomverbeek/VIPER.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/VIPER",
      "traits": [
        "default"
      ],
      "dependencies": [
        {
          "identity": "swift-argument-parser",
          "name": "swift-argument-parser",
          "url": "https://github.com/apple/swift-argument-parser",
          "version": "0.5.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-argument-parser",
          "traits": [
            "default"
          ],
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/thomverbeek/VIPER.git
[1/401] Fetching viper
Fetched https://github.com/thomverbeek/VIPER.git from cache (0.74s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetched https://github.com/apple/swift-argument-parser from cache (0.51s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 0.5.0 (1.22s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 0.5.0
Creating working copy for https://github.com/thomverbeek/VIPER.git
Working copy of https://github.com/thomverbeek/VIPER.git resolved at 0.7.0 (2c44cce)
Found 1 product dependencies
  - swift-argument-parser
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/thomverbeek/VIPER.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/8] Write sources
[3/8] Write viper-tools-entitlement.plist
[4/8] Write swift-version--6988338F2F200930.txt
[6/38] Emitting module ArgumentParser
[7/40] Compiling ArgumentParser Name.swift
[8/40] Compiling ArgumentParser Parsed.swift
[9/40] Compiling ArgumentParser ParsedValues.swift
[10/40] Compiling ArgumentParser OptionGroup.swift
[11/40] Compiling ArgumentParser CommandConfiguration.swift
[12/40] Compiling ArgumentParser ExpressibleByArgument.swift
[13/40] Compiling ArgumentParser StringExtensions.swift
[14/40] Compiling ArgumentParser Tree.swift
[15/40] Compiling ArgumentParser Flag.swift
[16/40] Compiling ArgumentParser NameSpecification.swift
[17/40] Compiling ArgumentParser Option.swift
[18/40] Compiling ArgumentParser ArgumentSetSequence.swift
[19/40] Compiling ArgumentParser CommandParser.swift
[20/40] Compiling ArgumentParser InputOrigin.swift
[21/40] Compiling ArgumentParser ArgumentDecoder.swift
[22/40] Compiling ArgumentParser ArgumentDefinition.swift
[23/40] Compiling ArgumentParser ArgumentSet.swift
[24/40] Compiling ArgumentParser ParserError.swift
[25/40] Compiling ArgumentParser SplitArguments.swift
[26/40] Compiling ArgumentParser HelpCommand.swift
[27/40] Compiling ArgumentParser Argument.swift
[28/40] Compiling ArgumentParser ArgumentHelp.swift
[29/40] Compiling ArgumentParser Errors.swift
[30/40] Compiling ArgumentParser ParsableArguments.swift
[31/40] Compiling ArgumentParser ParsableArgumentsValidation.swift
[32/40] Compiling ArgumentParser ParsableCommand.swift
[33/40] Compiling ArgumentParser HelpGenerator.swift
[34/40] Compiling ArgumentParser MessageInfo.swift
[35/40] Compiling ArgumentParser UsageGenerator.swift
[36/40] Emitting module VIPER
[37/40] Compiling VIPER VIPER.swift
/Users/admin/builder/spi-builder-workspace/Sources/VIPER/VIPER.swift:43:41: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
 41 |
 42 |     func send(_ userInteraction: UserInteraction) {
 43 |         (objc_getAssociatedObject(self, &presenterKey) as? (UserInteraction) -> Void)?(userInteraction)
    |                                         `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
 44 |     }
 45 |
/Users/admin/builder/spi-builder-workspace/Sources/VIPER/VIPER.swift:101:41: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
 99 |
100 |     func send(_ useCase: UseCase) {
101 |         (objc_getAssociatedObject(self, &interactorKey) as? (UseCase) -> Void)?(useCase)
    |                                         `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
102 |     }
103 |
/Users/admin/builder/spi-builder-workspace/Sources/VIPER/VIPER.swift:105:41: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
103 |
104 |     func send(_ navigation: Navigation) {
105 |         (objc_getAssociatedObject(self, &routerKey) as? (Navigation) -> Void)?(navigation)
    |                                         `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
106 |     }
107 |
/Users/admin/builder/spi-builder-workspace/Sources/VIPER/VIPER.swift:195:40: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
193 |
194 |     var view: View? {
195 |         objc_getAssociatedObject(self, &viewKey) as? View
    |                                        `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
196 |     }
197 |
/Users/admin/builder/spi-builder-workspace/Sources/VIPER/VIPER.swift:256:40: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
254 |         let view = View(viewModel: presenter.viewModel)
255 |
256 |         objc_setAssociatedObject(view, &presenterKey, { [presenter] userInteraction in
    |                                        `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
257 |             presenter.receive(userInteraction: userInteraction)
258 |         }, .OBJC_ASSOCIATION_RETAIN)
/Users/admin/builder/spi-builder-workspace/Sources/VIPER/VIPER.swift:260:45: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
258 |         }, .OBJC_ASSOCIATION_RETAIN)
259 |
260 |         objc_setAssociatedObject(presenter, &interactorKey, { [interactor] useCase in
    |                                             `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
261 |             interactor.receive(useCase: useCase)
262 |         }, .OBJC_ASSOCIATION_RETAIN)
/Users/admin/builder/spi-builder-workspace/Sources/VIPER/VIPER.swift:264:45: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
262 |         }, .OBJC_ASSOCIATION_RETAIN)
263 |
264 |         objc_setAssociatedObject(presenter, &routerKey, { [router] navigation in
    |                                             `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
265 |             router.receive(navigation: navigation)
266 |         }, .OBJC_ASSOCIATION_RETAIN)
/Users/admin/builder/spi-builder-workspace/Sources/VIPER/VIPER.swift:268:42: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
266 |         }, .OBJC_ASSOCIATION_RETAIN)
267 |
268 |         objc_setAssociatedObject(router, &viewKey, view, .OBJC_ASSOCIATION_ASSIGN)
    |                                          `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
269 |
270 |         router.configure(view: view)
[38/48] Compiling VIPERCommandLine View.swift
[39/48] Compiling VIPERCommandLine Presenter.swift
[40/48] Compiling VIPERCommandLine Template.swift
[41/48] Compiling VIPERCommandLine Module.swift
[42/48] Compiling VIPERCommandLine Router.swift
[43/48] Compiling VIPERCommandLine main.swift
[44/48] Compiling VIPERCommandLine Interactor.swift
[45/48] Emitting module VIPERCommandLine
[45/48] Write Objects.LinkFileList
[46/48] Linking viper-tools
[47/48] Applying viper-tools
Build complete! (5.95s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.0.5",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    }
  ],
  "manifest_display_name" : "VIPER",
  "name" : "VIPER",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.10"
    },
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "10.0"
    }
  ],
  "products" : [
    {
      "name" : "viper-tools",
      "targets" : [
        "VIPERCommandLine"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "VIPER",
      "targets" : [
        "VIPER"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "VIPERTests",
      "module_type" : "SwiftTarget",
      "name" : "VIPERTests",
      "path" : "Tests/VIPERTests",
      "sources" : [
        "Example/Interactor.swift",
        "Example/Module.swift",
        "Example/Presenter.swift",
        "Example/Router.swift",
        "Example/View.swift",
        "VIPERTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "VIPER"
      ],
      "type" : "test"
    },
    {
      "c99name" : "VIPERCommandLine",
      "module_type" : "SwiftTarget",
      "name" : "VIPERCommandLine",
      "path" : "Sources/VIPERCommandLine",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "viper-tools"
      ],
      "sources" : [
        "Templates/Interactor.swift",
        "Templates/Module.swift",
        "Templates/Presenter.swift",
        "Templates/Router.swift",
        "Templates/Template.swift",
        "Templates/View.swift",
        "main.swift"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "VIPER",
      "module_type" : "SwiftTarget",
      "name" : "VIPER",
      "path" : "Sources/VIPER",
      "product_memberships" : [
        "VIPER"
      ],
      "sources" : [
        "VIPER.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.