The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SafeDI, reference 2.0.0 (989d50), with Swift 6.4 for macOS (SPM) on 25 Sep 2026 09:36:04 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/dfed/SafeDI.git
Reference: 2.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/dfed/SafeDI
 * tag               2.0.0      -> FETCH_HEAD
HEAD is now at 989d505 Release 2.0.0
Cloned https://github.com/dfed/SafeDI.git
Revision (git rev-parse @):
989d505b068da9cabda2e278657f3223d233f9c1
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/dfed/SafeDI.git at 2.0.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/dfed/SafeDI.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 / 799]
[Planning deferred tasks]
[158 / 365]
[167 / 373] SwiftSyntax604
[180 / 404]
[235 / 404] ArgumentParserToolInfo
[243 / 405]
[249 / 405] SwiftSyntax603
[261 / 406] SwiftSyntax509
[270 / 432] ArgumentParserToolInfo
[273 / 432]
[277 / 432] ArgumentParser
[284 / 463]
[285 / 463]
[298 / 463] SwiftSyntax
[299 / 463]
[301 / 463]
[302 / 463]
[305 / 463]
[309 / 463]
[310 / 463]
[311 / 463]
[312 / 463]
[317 / 463] ArgumentParser
[320 / 463] ArgumentParser
[321 / 463] ArgumentParser
[323 / 463] ArgumentParser
[329 / 463] ArgumentParser-product
[329 / 463] SwiftSyntax
[329 / 463] ArgumentParser
[331 / 463] SwiftSyntax
[340 / 466] SwiftBasicFormat
[347 / 495] SwiftParser
[349 / 495] SwiftBasicFormat
[365 / 495] SwiftParser
[366 / 495] SwiftParser
[367 / 495] SwiftParser
[370 / 495] SwiftParser
[372 / 495] SwiftParser
[378 / 495] SwiftParser-product
[381 / 495] SwiftParser-product
[386 / 495] SwiftParserDiagnostics
[389 / 497] SwiftParserDiagnostics
[397 / 519] SwiftOperators
[401 / 519] SwiftParserDiagnostics
[404 / 519] SwiftOperators
[420 / 519] SwiftSyntaxBuilder
[425 / 519] SwiftDiagnostics
[427 / 520] SwiftOperators
[427 / 520] SwiftSyntaxBuilder
[435 / 531] SwiftSyntaxBuilder
[437 / 531] SwiftSyntaxBuilder
[440 / 531] SwiftSyntaxBuilder
[448 / 533] SwiftSyntaxBuilder
[449 / 533] SwiftIfConfig
[457 / 544] SwiftIfConfig
[459 / 555] SwiftIfConfig
[461 / 555] SwiftIfConfig
[471 / 555] SwiftSyntaxMacros
[475 / 555] SwiftIfConfig
[486 / 556] SafeDICore
[488 / 557]
[492 / 568] SwiftSyntaxMacros
[496 / 568] SwiftSyntaxMacros
[506 / 573] SwiftSyntaxMacros-product
[510 / 573]
[512 / 574]
[513 / 574] SwiftSyntaxMacroExpansion
[517 / 584] SwiftSyntaxMacroExpansion
[521 / 584] SwiftSyntaxMacroExpansion
[523 / 584] SwiftSyntaxMacroExpansion
[530 / 585] SwiftSyntaxMacroExpansion
[531 / 585] SwiftSyntaxMacroExpansion
[539 / 596] SwiftCompilerPluginMessageHandling
[540 / 596] SwiftCompilerPluginMessageHandling
[544 / 596] SwiftCompilerPluginMessageHandling
[551 / 597] SwiftCompilerPluginMessageHandling
[551 / 597] SwiftCompilerPlugin
[559 / 599] SwiftCompilerPlugin
[561 / 599] SwiftSyntax
[563 / 599] SwiftSyntax
[569 / 599] SwiftSyntaxBuilder
[575 / 599] SwiftCompilerPluginMessageHandling
[584 / 600] SafeDITool-product
[586 / 600] SafeDIMacros
[597 / 611] SafeDIMacros
[598 / 611] SafeDIMacros
[600 / 611] SafeDIMacros
[603 / 612] SafeDI
[613 / 622] SafeDI
Build complete! (23.82 sec)
Fetching https://github.com/apple/swift-argument-parser.git
Fetching https://github.com/swiftlang/swift-syntax.git
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
[236/21286] Fetching swift-docc-plugin, swift-argument-parser
[21287/101354] Fetching swift-docc-plugin, swift-argument-parser, swift-syntax
Fetched https://github.com/swiftlang/swift-docc-plugin (12.10s)
Fetched https://github.com/apple/swift-argument-parser.git (12.10s)
Fetched https://github.com/swiftlang/swift-syntax.git (12.10s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 604.0.0 (15.10s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (0.64s)
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.10s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.8.2 (0.56s)
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
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/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.8.2
Creating working copy for https://github.com/swiftlang/swift-syntax.git
Working copy of https://github.com/swiftlang/swift-syntax.git resolved at 604.0.0
Downloading binary artifact https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip
[0/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (16 KB / 56 MB)
[0/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (311 KB / 56 MB)
[1/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (573 KB / 56 MB)
[1/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (863 KB / 56 MB)
[2/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (1.1 MB / 56 MB)
[2/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (1.4 MB / 56 MB)
[3/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (1.7 MB / 56 MB)
[3/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (1.9 MB / 56 MB)
[3/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (2.2 MB / 56 MB)
[4/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (2.5 MB / 56 MB)
[4/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (2.8 MB / 56 MB)
[5/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (3 MB / 56 MB)
[5/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (3.3 MB / 56 MB)
[6/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (3.6 MB / 56 MB)
[6/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (3.9 MB / 56 MB)
[7/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (4.1 MB / 56 MB)
[7/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (4.4 MB / 56 MB)
[8/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (4.7 MB / 56 MB)
[8/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (5 MB / 56 MB)
[9/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (5.3 MB / 56 MB)
[9/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (5.6 MB / 56 MB)
[10/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (5.9 MB / 56 MB)
[11/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (6.2 MB / 56 MB)
[11/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (6.5 MB / 56 MB)
[12/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (6.8 MB / 56 MB)
[12/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (7 MB / 56 MB)
[13/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (7.3 MB / 56 MB)
[13/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (7.6 MB / 56 MB)
[13/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (7.8 MB / 56 MB)
[14/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (8.1 MB / 56 MB)
[14/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (8.4 MB / 56 MB)
[15/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (8.7 MB / 56 MB)
[16/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (9 MB / 56 MB)
[16/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (9.3 MB / 56 MB)
[17/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (9.6 MB / 56 MB)
[17/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (9.8 MB / 56 MB)
[18/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (10.1 MB / 56 MB)
[18/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (10.4 MB / 56 MB)
[19/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (10.6 MB / 56 MB)
[19/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (11 MB / 56 MB)
[20/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (11.3 MB / 56 MB)
[20/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (11.6 MB / 56 MB)
[21/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (12 MB / 56 MB)
[22/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (12.3 MB / 56 MB)
[22/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (12.6 MB / 56 MB)
[23/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (12.9 MB / 56 MB)
[23/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (13.2 MB / 56 MB)
[24/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (13.5 MB / 56 MB)
[24/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (13.7 MB / 56 MB)
[25/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (14 MB / 56 MB)
[25/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (14.3 MB / 56 MB)
[26/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (14.6 MB / 56 MB)
[26/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (14.9 MB / 56 MB)
[27/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (15.2 MB / 56 MB)
[27/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (15.4 MB / 56 MB)
[28/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (15.8 MB / 56 MB)
[28/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (16.1 MB / 56 MB)
[29/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (16.4 MB / 56 MB)
[29/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (16.8 MB / 56 MB)
[30/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (17.1 MB / 56 MB)
[30/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (17.3 MB / 56 MB)
[31/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (17.7 MB / 56 MB)
[32/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (17.9 MB / 56 MB)
[32/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (18.2 MB / 56 MB)
[33/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (18.5 MB / 56 MB)
[33/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (18.8 MB / 56 MB)
[34/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (19.1 MB / 56 MB)
[34/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (19.5 MB / 56 MB)
[35/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (19.7 MB / 56 MB)
[35/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (20 MB / 56 MB)
[36/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (20.3 MB / 56 MB)
[37/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (21 MB / 56 MB)
[38/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (21.3 MB / 56 MB)
[38/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (21.6 MB / 56 MB)
[39/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (21.9 MB / 56 MB)
[39/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (22.1 MB / 56 MB)
[40/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (22.4 MB / 56 MB)
[40/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (22.7 MB / 56 MB)
[41/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (23 MB / 56 MB)
[41/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (23.3 MB / 56 MB)
[42/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (23.6 MB / 56 MB)
[42/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (23.9 MB / 56 MB)
[43/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (24.2 MB / 56 MB)
[43/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (24.4 MB / 56 MB)
[44/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (24.7 MB / 56 MB)
[44/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (25 MB / 56 MB)
[45/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (25.3 MB / 56 MB)
[45/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (25.6 MB / 56 MB)
[46/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (25.9 MB / 56 MB)
[47/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (26.4 MB / 56 MB)
[47/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (26.7 MB / 56 MB)
[48/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (27 MB / 56 MB)
[48/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (27.3 MB / 56 MB)
[49/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (27.6 MB / 56 MB)
[49/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (27.9 MB / 56 MB)
[50/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (28.3 MB / 56 MB)
[50/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (28.5 MB / 56 MB)
[51/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (28.8 MB / 56 MB)
[51/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (29.1 MB / 56 MB)
[52/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (29.4 MB / 56 MB)
[53/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (29.7 MB / 56 MB)
[53/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (29.9 MB / 56 MB)
[54/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (30.2 MB / 56 MB)
[54/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (30.6 MB / 56 MB)
[55/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (30.8 MB / 56 MB)
[55/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (31.1 MB / 56 MB)
[56/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (31.4 MB / 56 MB)
[56/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (31.7 MB / 56 MB)
[57/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (32.1 MB / 56 MB)
[57/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (32.3 MB / 56 MB)
[58/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (32.6 MB / 56 MB)
[58/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (32.9 MB / 56 MB)
[59/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (33.1 MB / 56 MB)
[59/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (33.4 MB / 56 MB)
[60/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (33.7 MB / 56 MB)
[60/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (34 MB / 56 MB)
[61/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (34.3 MB / 56 MB)
[61/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (34.6 MB / 56 MB)
[62/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (34.9 MB / 56 MB)
[62/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (35.2 MB / 56 MB)
[63/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (35.5 MB / 56 MB)
[63/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (35.8 MB / 56 MB)
[64/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (36.1 MB / 56 MB)
[64/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (36.4 MB / 56 MB)
[65/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (36.7 MB / 56 MB)
[66/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (37 MB / 56 MB)
[66/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (37.3 MB / 56 MB)
[67/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (37.5 MB / 56 MB)
[67/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (37.8 MB / 56 MB)
[68/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (38.1 MB / 56 MB)
[68/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (38.4 MB / 56 MB)
[69/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (38.7 MB / 56 MB)
[69/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (39 MB / 56 MB)
[70/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (39.2 MB / 56 MB)
[70/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (39.6 MB / 56 MB)
[71/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (39.8 MB / 56 MB)
[71/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (40.1 MB / 56 MB)
[72/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (40.4 MB / 56 MB)
[72/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (40.7 MB / 56 MB)
[73/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (41 MB / 56 MB)
[73/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (41.3 MB / 56 MB)
[74/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (41.6 MB / 56 MB)
[74/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (41.9 MB / 56 MB)
[75/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (42.2 MB / 56 MB)
[76/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (42.6 MB / 56 MB)
[76/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (42.9 MB / 56 MB)
[77/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (43.2 MB / 56 MB)
[77/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (43.5 MB / 56 MB)
[78/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (43.8 MB / 56 MB)
[78/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (44.1 MB / 56 MB)
[79/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (44.4 MB / 56 MB)
[79/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (44.6 MB / 56 MB)
[80/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (44.9 MB / 56 MB)
[80/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (45.2 MB / 56 MB)
[81/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (45.5 MB / 56 MB)
[81/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (45.8 MB / 56 MB)
[82/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (46.1 MB / 56 MB)
[82/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (46.4 MB / 56 MB)
[83/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (46.8 MB / 56 MB)
[84/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (47.2 MB / 56 MB)
[84/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (47.4 MB / 56 MB)
[85/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (47.7 MB / 56 MB)
[85/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (48 MB / 56 MB)
[86/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (48.6 MB / 56 MB)
[87/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (48.9 MB / 56 MB)
[87/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (49.2 MB / 56 MB)
[88/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (49.4 MB / 56 MB)
[88/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (49.7 MB / 56 MB)
[89/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (50 MB / 56 MB)
[89/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (50.3 MB / 56 MB)
[90/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (50.6 MB / 56 MB)
[91/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (51 MB / 56 MB)
[93/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (52.2 MB / 56 MB)
[94/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (52.8 MB / 56 MB)
[94/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (53.1 MB / 56 MB)
[95/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (53.3 MB / 56 MB)
[95/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (53.6 MB / 56 MB)
[96/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (53.9 MB / 56 MB)
[96/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (54.2 MB / 56 MB)
[97/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (54.6 MB / 56 MB)
[97/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (54.9 MB / 56 MB)
[98/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (55.1 MB / 56 MB)
[99/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (55.4 MB / 56 MB)
[99/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (55.7 MB / 56 MB)
[100/100] Downloading https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (56 MB / 56 MB)
Downloaded https://github.com/dfed/SafeDI/releases/download/2.0.0/SafeDITool.artifactbundle.zip (2.70s)
Downloading package prebuilt https://download.swift.org/prebuilts/swift-syntax/604.0.0/swiftlang-6.4.0.34.1-macosx27.0-MacroSupport.zip
Downloaded https://download.swift.org/prebuilts/swift-syntax/604.0.0/swiftlang-6.4.0.34.1-macosx27.0-MacroSupport.zip (1.31s)
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Sources/SafeDI/BUILD.bazel
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Sources/SafeDITool/BUILD.bazel
warning: 'spi-builder-workspace': found 2 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Sources/SafeDIMacros/BUILD.bazel
    /Users/admin/builder/spi-builder-workspace/Sources/SafeDIMacros/SafeDICore/BUILD.bazel
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Sources/SafeDICore/BUILD.bazel
/Users/admin/builder/spi-builder-workspace/Sources/SafeDICore/Models/Scope.swift:172:9: warning: unstructured throwing task created by 'detached(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
170 | 		)
171 | 		if !forMockGeneration {
172 | 			Task.detached {
    |         |- warning: unstructured throwing task created by 'detached(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
    |         `- note: to silence this warning, handle the error inside the task, or store/discard the task value explicitly
173 | 				// Kick off code generation.
174 | 				try await scopeGenerator.generateCode()
[#NoUseUnstructuredThrowingTask]: <https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task>
/Users/admin/builder/spi-builder-workspace/Sources/SafeDIMacros/SafeDICore/Models/Scope.swift:172:9: warning: unstructured throwing task created by 'detached(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
170 | 		)
171 | 		if !forMockGeneration {
172 | 			Task.detached {
    |         |- warning: unstructured throwing task created by 'detached(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
    |         `- note: to silence this warning, handle the error inside the task, or store/discard the task value explicitly
173 | 				// Kick off code generation.
174 | 				try await scopeGenerator.generateCode()
[#NoUseUnstructuredThrowingTask]: <https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task>
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-docc-plugin"
    },
    {
      "identity" : "swift-syntax",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "602.0.0",
            "upper_bound" : "605.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-syntax.git"
    }
  ],
  "manifest_display_name" : "SafeDI",
  "name" : "SafeDI",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "15.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "SafeDI",
      "targets" : [
        "SafeDI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SafeDIGenerator",
      "targets" : [
        "SafeDIGenerator"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "MigrateSafeDIFromVersionOne",
      "targets" : [
        "MigrateSafeDIFromVersionOne"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "InstallSafeDITool",
      "targets" : [
        "InstallSafeDITool"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "SafeDITool",
      "targets" : [
        "SafeDITool"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "SafeDIMacros",
      "targets" : [
        "SafeDIMacros"
      ],
      "type" : {
        "macro" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SafeDIToolTests",
      "module_type" : "SwiftTarget",
      "name" : "SafeDIToolTests",
      "path" : "Tests/SafeDIToolTests",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "sources" : [
        "Helpers/SafeDICompileVerifier.swift",
        "Helpers/SafeDIToolTestExecution.swift",
        "SafeDIToolCodeGenerationErrorTests.swift",
        "SafeDIToolCodeGenerationTests.swift",
        "SafeDIToolCombinedOutputTests.swift",
        "SafeDIToolDOTGenerationTests.swift",
        "SafeDIToolMockGenerationConfigurationTests.swift",
        "SafeDIToolMockGenerationCustomMockTests.swift",
        "SafeDIToolMockGenerationDefaultValueTests.swift",
        "SafeDIToolMockGenerationDisambiguationTests.swift",
        "SafeDIToolMockGenerationErrorTests.swift",
        "SafeDIToolMockGenerationTests.swift",
        "SafeDIToolMockOnlyErrorTests.swift",
        "SafeDIToolMockOnlyTests.swift",
        "SafeDIToolVersionTests.swift"
      ],
      "target_dependencies" : [
        "SafeDITool"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SafeDIToolBinary",
      "module_type" : "BinaryTarget",
      "name" : "SafeDIToolBinary",
      "path" : "remote/archive/SafeDITool.artifactbundle.zip",
      "product_memberships" : [
        "SafeDIGenerator"
      ],
      "sources" : [
      ],
      "type" : "binary"
    },
    {
      "c99name" : "SafeDITool",
      "module_type" : "SwiftTarget",
      "name" : "SafeDITool",
      "path" : "Sources/SafeDITool",
      "product_dependencies" : [
        "ArgumentParser",
        "SwiftParser"
      ],
      "product_memberships" : [
        "SafeDITool"
      ],
      "sources" : [
        "GenerateCommand.swift",
        "SafeDITool.swift",
        "ScanCommand.swift",
        "SwiftFileParsing.swift"
      ],
      "target_dependencies" : [
        "SafeDICore"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "SafeDITests",
      "module_type" : "SwiftTarget",
      "name" : "SafeDITests",
      "path" : "Tests/SafeDITests",
      "sources" : [
        "ErasedInstantiatorTests.swift",
        "InstantiatorTests.swift",
        "SendableErasedInstantiatorTests.swift",
        "SendableInstantiatorTests.swift"
      ],
      "target_dependencies" : [
        "SafeDI",
        "SafeDICore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SafeDIMacrosTests",
      "module_type" : "SwiftTarget",
      "name" : "SafeDIMacrosTests",
      "path" : "Tests/SafeDIMacrosTests",
      "product_dependencies" : [
        "SwiftSyntaxMacrosGenericTestSupport"
      ],
      "sources" : [
        "AssertMacroExpansion.swift",
        "InjectableMacroTests.swift",
        "InstantiableMacroTests.swift",
        "SafeDIConfigurationMacroTests.swift"
      ],
      "target_dependencies" : [
        "SafeDIMacros"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SafeDIMacros",
      "module_type" : "SwiftTarget",
      "name" : "SafeDIMacros",
      "path" : "Sources/SafeDIMacros",
      "product_dependencies" : [
        "SwiftCompilerPlugin",
        "SwiftSyntaxMacros",
        "SwiftDiagnostics",
        "SwiftSyntax",
        "SwiftSyntaxBuilder"
      ],
      "product_memberships" : [
        "SafeDI",
        "SafeDIMacros"
      ],
      "sources" : [
        "Macros/InjectableMacro.swift",
        "Macros/InstantiableMacro.swift",
        "Macros/SafeDIConfigurationMacro.swift",
        "SafeDICore/Errors/DiagnosticError.swift",
        "SafeDICore/Errors/FixableInjectableError.swift",
        "SafeDICore/Errors/FixableInstantiableError.swift",
        "SafeDICore/Extensions/AttributeListSyntaxElementExtensions.swift",
        "SafeDICore/Extensions/AttributeListSyntaxExtensions.swift",
        "SafeDICore/Extensions/AttributeSyntaxExtensions.swift",
        "SafeDICore/Extensions/CollectionExtensions.swift",
        "SafeDICore/Extensions/DeclModifierListSyntaxExtensions.swift",
        "SafeDICore/Extensions/DiagnosticExtensions.swift",
        "SafeDICore/Extensions/ImportDeclSyntaxExtensions.swift",
        "SafeDICore/Extensions/PatternBindingSyntaxExtensions.swift",
        "SafeDICore/Generators/DependencyTreeGenerator.swift",
        "SafeDICore/Generators/ScopeGenerator.swift",
        "SafeDICore/Models/ConcreteDeclSyntaxProtocol.swift",
        "SafeDICore/Models/ConcreteDeclType.swift",
        "SafeDICore/Models/Dependency.swift",
        "SafeDICore/Models/ImportStatement.swift",
        "SafeDICore/Models/Initializer.swift",
        "SafeDICore/Models/InstantiableStruct.swift",
        "SafeDICore/Models/Property.swift",
        "SafeDICore/Models/SafeDIConfiguration.swift",
        "SafeDICore/Models/SafeDIToolManifest.swift",
        "SafeDICore/Models/Scope.swift",
        "SafeDICore/Models/TypeDescription.swift",
        "SafeDICore/Models/UnorderedEquatingCollection.swift",
        "SafeDICore/Utilities/OutputFileNaming.swift",
        "SafeDICore/Utilities/RelativePath.swift",
        "SafeDICore/Visitors/FileVisitor.swift",
        "SafeDICore/Visitors/InstantiableVisitor.swift",
        "SafeDICore/Visitors/SafeDIConfigurationVisitor.swift",
        "SafeDIMacroPlugin.swift"
      ],
      "type" : "macro"
    },
    {
      "c99name" : "SafeDIGeneratorPluginTests",
      "module_type" : "SwiftTarget",
      "name" : "SafeDIGeneratorPluginTests",
      "path" : "Tests/SafeDIGeneratorPluginTests",
      "sources" : [
        "PluginScannerStringUtilities.swift",
        "PluginScannerTests.swift"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SafeDIGenerator",
      "module_type" : "PluginTarget",
      "name" : "SafeDIGenerator",
      "path" : "Plugins/SafeDIGenerator",
      "plugin_capability" : {
        "type" : "buildTool"
      },
      "product_memberships" : [
        "SafeDIGenerator"
      ],
      "sources" : [
        "PluginScanner.swift",
        "PluginScannerStringUtilities.swift",
        "SafeDIGenerateDependencyTree.swift",
        "Shared.swift"
      ],
      "target_dependencies" : [
        "SafeDIToolBinary"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "SafeDICoreTests",
      "module_type" : "SwiftTarget",
      "name" : "SafeDICoreTests",
      "path" : "Tests/SafeDICoreTests",
      "sources" : [
        "FileVisitorTests.swift",
        "FixableInstantiableErrorTests.swift",
        "InitializerTests.swift",
        "TypeDescriptionTests.swift",
        "UnorderedEquatingCollectionTests.swift"
      ],
      "target_dependencies" : [
        "SafeDICore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SafeDICore",
      "module_type" : "SwiftTarget",
      "name" : "SafeDICore",
      "path" : "Sources/SafeDICore",
      "product_dependencies" : [
        "SwiftDiagnostics",
        "SwiftSyntax",
        "SwiftSyntaxBuilder"
      ],
      "product_memberships" : [
        "SafeDITool"
      ],
      "sources" : [
        "Errors/DiagnosticError.swift",
        "Errors/FixableInjectableError.swift",
        "Errors/FixableInstantiableError.swift",
        "Extensions/AttributeListSyntaxElementExtensions.swift",
        "Extensions/AttributeListSyntaxExtensions.swift",
        "Extensions/AttributeSyntaxExtensions.swift",
        "Extensions/CollectionExtensions.swift",
        "Extensions/DeclModifierListSyntaxExtensions.swift",
        "Extensions/DiagnosticExtensions.swift",
        "Extensions/ImportDeclSyntaxExtensions.swift",
        "Extensions/PatternBindingSyntaxExtensions.swift",
        "Generators/DependencyTreeGenerator.swift",
        "Generators/ScopeGenerator.swift",
        "Models/ConcreteDeclSyntaxProtocol.swift",
        "Models/ConcreteDeclType.swift",
        "Models/Dependency.swift",
        "Models/ImportStatement.swift",
        "Models/Initializer.swift",
        "Models/InstantiableStruct.swift",
        "Models/Property.swift",
        "Models/SafeDIConfiguration.swift",
        "Models/SafeDIToolManifest.swift",
        "Models/Scope.swift",
        "Models/TypeDescription.swift",
        "Models/UnorderedEquatingCollection.swift",
        "Utilities/OutputFileNaming.swift",
        "Utilities/RelativePath.swift",
        "Visitors/FileVisitor.swift",
        "Visitors/InstantiableVisitor.swift",
        "Visitors/SafeDIConfigurationVisitor.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SafeDI",
      "module_type" : "SwiftTarget",
      "name" : "SafeDI",
      "path" : "Sources/SafeDI",
      "product_memberships" : [
        "SafeDI"
      ],
      "sources" : [
        "Decorators/Forwarded.swift",
        "Decorators/Instantiable.swift",
        "Decorators/Instantiated.swift",
        "Decorators/Received.swift",
        "Decorators/SafeDIConfiguration.swift",
        "DelayedInstantiation/ErasedInstantiator.swift",
        "DelayedInstantiation/Instantiator.swift",
        "DelayedInstantiation/SendableErasedInstantiator.swift",
        "DelayedInstantiation/SendableInstantiator.swift"
      ],
      "target_dependencies" : [
        "SafeDIMacros"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MigrateSafeDIFromVersionOne",
      "module_type" : "PluginTarget",
      "name" : "MigrateSafeDIFromVersionOne",
      "path" : "Plugins/MigrateSafeDIFromVersionOne",
      "plugin_capability" : {
        "intent" : {
          "description" : "Migrates a project from SafeDI 1.x to 2.x.",
          "type" : "custom",
          "verb" : "safedi-v1-to-v2"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "Creates a SafeDIConfiguration.swift file and removes obsolete CSV configuration files.",
            "type" : "writeToPackageDirectory"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "MigrateSafeDIFromVersionOne"
      ],
      "sources" : [
        "MigrateSafeDIFromVersionOne.swift"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "InstallSafeDITool",
      "module_type" : "PluginTarget",
      "name" : "InstallSafeDITool",
      "path" : "Plugins/InstallSafeDITool",
      "plugin_capability" : {
        "intent" : {
          "description" : "Xcode-only: downloads the SafeDITool prebuilt release binary for the current SafeDI version into .safedi/<version>/safeditool next to the .xcodeproj. swift build users get the prebuilt tool via the default `prebuilt` trait and don't need this.",
          "type" : "custom",
          "verb" : "safedi-release-install"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "Downloads the SafeDITool binary into .safedi/<version>/safeditool.",
            "type" : "writeToPackageDirectory"
          },
          {
            "network_scope" : {
              "all" : {
                "ports" : [
                ]
              }
            },
            "reason" : "Downloads SafeDITool from the SafeDI GitHub release.",
            "type" : "allowNetworkConnections"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "InstallSafeDITool"
      ],
      "sources" : [
        "InstallSafeDITool.swift",
        "Shared.swift"
      ],
      "type" : "plugin"
    }
  ],
  "tools_version" : "6.2"
}
Done.