The Swift Package Index logo.Swift Package Index

Build Information

Successful build of avie, reference v1.0.6 (bf4720), with Swift 6.1 for macOS (SPM) on 8 May 2026 11:01:08 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/shrudge/avie.git
Reference: v1.0.6
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/shrudge/avie
 * tag               v1.0.6     -> FETCH_HEAD
HEAD is now at bf4720d feat: implement portable Swift-based banner and bump version to 1.0.6
Cloned https://github.com/shrudge/avie.git
Revision (git rev-parse @):
bf4720d51be873f714863ca1ed0a8a22d9660505
SUCCESS checkout https://github.com/shrudge/avie.git at v1.0.6
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/shrudge/avie.git
https://github.com/shrudge/avie.git
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    }
  ],
  "manifest_display_name" : "avie",
  "name" : "avie",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "avie",
      "targets" : [
        "AvieCLI"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "AviePlugin",
      "targets" : [
        "AviePlugin"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "AvieCore",
      "targets" : [
        "AvieCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AvieRulesTests",
      "module_type" : "SwiftTarget",
      "name" : "AvieRulesTests",
      "path" : "Tests/AvieRulesTests",
      "sources" : [
        "AvieRulesTests.swift"
      ],
      "target_dependencies" : [
        "AvieRules",
        "AvieGraph"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AvieRules",
      "module_type" : "SwiftTarget",
      "name" : "AvieRules",
      "path" : "Sources/AvieRules",
      "product_memberships" : [
        "avie"
      ],
      "sources" : [
        "BinaryTargetRule.swift",
        "ExcessiveFanoutRule.swift",
        "Rule.swift",
        "RuleEngine.swift",
        "RuleMetadata.swift",
        "TestLeakageRule.swift",
        "UnreachablePinRule.swift"
      ],
      "target_dependencies" : [
        "AvieCore",
        "AvieGraph"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AvieResolverTests",
      "module_type" : "SwiftTarget",
      "name" : "AvieResolverTests",
      "path" : "Tests/AvieResolverTests",
      "sources" : [
        "AvieResolverTests.swift"
      ],
      "target_dependencies" : [
        "AvieResolver"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AvieResolver",
      "module_type" : "SwiftTarget",
      "name" : "AvieResolver",
      "path" : "Sources/AvieResolver",
      "product_memberships" : [
        "avie"
      ],
      "sources" : [
        "BinaryTargetDetector.swift",
        "DependencyTransformer.swift",
        "ManifestReader.swift",
        "SPMDependencyOutput.swift",
        "SPMResolver.swift",
        "SwiftToolFinder.swift"
      ],
      "target_dependencies" : [
        "AvieCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AviePlugin",
      "module_type" : "PluginTarget",
      "name" : "AviePlugin",
      "path" : "Plugins/AviePlugin",
      "plugin_capability" : {
        "intent" : {
          "description" : "Run Avie dependency graph audit",
          "type" : "custom",
          "verb" : "avie-audit"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "Write SARIF report",
            "type" : "writeToPackageDirectory"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "AviePlugin"
      ],
      "sources" : [
        "AviePlugin.swift"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "AvieOutputTests",
      "module_type" : "SwiftTarget",
      "name" : "AvieOutputTests",
      "path" : "Tests/AvieOutputTests",
      "sources" : [
        "AvieOutputTests.swift"
      ],
      "target_dependencies" : [
        "AvieOutput"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AvieOutput",
      "module_type" : "SwiftTarget",
      "name" : "AvieOutput",
      "path" : "Sources/AvieOutput",
      "product_memberships" : [
        "avie"
      ],
      "sources" : [
        "JSONFormatter.swift",
        "SARIFFormatter.swift",
        "TerminalFormatter.swift"
      ],
      "target_dependencies" : [
        "AvieCore",
        "AvieRules",
        "AvieDiff"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AvieGraphTests",
      "module_type" : "SwiftTarget",
      "name" : "AvieGraphTests",
      "path" : "Tests/AvieGraphTests",
      "sources" : [
        "AvieGraphTests.swift"
      ],
      "target_dependencies" : [
        "AvieGraph"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AvieGraph",
      "module_type" : "SwiftTarget",
      "name" : "AvieGraph",
      "path" : "Sources/AvieGraph",
      "product_memberships" : [
        "avie"
      ],
      "sources" : [
        "DependencyGraph.swift",
        "GraphTraversal.swift"
      ],
      "target_dependencies" : [
        "AvieCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AvieDiffTests",
      "module_type" : "SwiftTarget",
      "name" : "AvieDiffTests",
      "path" : "Tests/AvieDiffTests",
      "sources" : [
        "AvieDiffTests.swift"
      ],
      "target_dependencies" : [
        "AvieDiff"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AvieDiff",
      "module_type" : "SwiftTarget",
      "name" : "AvieDiff",
      "path" : "Sources/AvieDiff",
      "product_memberships" : [
        "avie"
      ],
      "sources" : [
        "DiffEngine.swift",
        "GraphSnapshot.swift",
        "SemanticVersion.swift"
      ],
      "target_dependencies" : [
        "AvieCore",
        "AvieGraph",
        "AvieRules"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AvieCoreTests",
      "module_type" : "SwiftTarget",
      "name" : "AvieCoreTests",
      "path" : "Tests/AvieCoreTests",
      "sources" : [
        "AvieCoreTests.swift"
      ],
      "target_dependencies" : [
        "AvieCore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AvieCore",
      "module_type" : "SwiftTarget",
      "name" : "AvieCore",
      "path" : "Sources/AvieCore",
      "product_memberships" : [
        "avie",
        "AvieCore"
      ],
      "sources" : [
        "ConfigurationLoader.swift",
        "Models/AvieConfiguration.swift",
        "Models/Finding.swift",
        "Models/PackageIdentity.swift",
        "Models/ResolvedPackage.swift",
        "Models/RuleID.swift",
        "Models/Suppression.swift",
        "Models/TargetDeclaration.swift",
        "Version.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AvieCLI",
      "module_type" : "SwiftTarget",
      "name" : "AvieCLI",
      "path" : "Sources/AvieCLI",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "avie"
      ],
      "sources" : [
        "AvieCommand.swift",
        "Banner.swift",
        "CLIHelpers.swift",
        "Commands/AuditCommand.swift",
        "Commands/DiffCommand.swift",
        "Commands/ExplainCommand.swift",
        "Commands/SnapshotCommand.swift",
        "Commands/SuppressCommand.swift"
      ],
      "target_dependencies" : [
        "AvieCore",
        "AvieResolver",
        "AvieGraph",
        "AvieRules",
        "AvieDiff",
        "AvieOutput"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
[1/1] Compiling plugin AviePlugin
[2/2] Compiling plugin GenerateManual
[3/3] Compiling plugin GenerateDoccReference
Building for debugging...
[3/17] Write sources
[6/17] Write avie-entitlement.plist
[7/17] Write sources
[13/17] Write swift-version-2F0A5646E1D333AE.txt
[15/29] Compiling ArgumentParserToolInfo ToolInfo.swift
[16/29] Emitting module ArgumentParserToolInfo
[17/76] Compiling AvieCore RuleID.swift
[18/76] Compiling AvieCore Version.swift
[19/76] Compiling AvieCore TargetDeclaration.swift
[20/76] Compiling AvieCore ResolvedPackage.swift
[21/76] Emitting module ArgumentParser
[22/81] Compiling ArgumentParser CodingKeyValidator.swift
[23/81] Compiling ArgumentParser NonsenseFlagsValidator.swift
[24/81] Compiling ArgumentParser ParsableArgumentsValidation.swift
[25/81] Compiling ArgumentParser PositionalArgumentsValidator.swift
[26/81] Compiling ArgumentParser UniqueNamesValidator.swift
[27/81] Compiling ArgumentParser NameSpecification.swift
[28/81] Compiling ArgumentParser Option.swift
[29/81] Compiling ArgumentParser OptionGroup.swift
[30/81] Compiling ArgumentParser ParentCommand.swift
[31/81] Compiling ArgumentParser AsyncParsableCommand.swift
[32/81] Compiling AvieCore Suppression.swift
[33/81] Compiling AvieCore Finding.swift
[34/81] Emitting module AvieCore
[35/81] Compiling AvieCore AvieConfiguration.swift
[36/81] Compiling AvieCore ConfigurationLoader.swift
[37/81] Compiling AvieCore PackageIdentity.swift
[38/81] Compiling ArgumentParser ArgumentHelp.swift
[39/81] Compiling ArgumentParser ArgumentVisibility.swift
[40/81] Compiling ArgumentParser CompletionKind.swift
[41/81] Compiling ArgumentParser Errors.swift
[42/81] Compiling ArgumentParser Flag.swift
[43/81] Compiling ArgumentParser BashCompletionsGenerator.swift
[44/81] Compiling ArgumentParser CompletionsGenerator.swift
[45/81] Compiling ArgumentParser FishCompletionsGenerator.swift
[46/81] Compiling ArgumentParser ZshCompletionsGenerator.swift
[47/81] Compiling ArgumentParser Argument.swift
[48/81] Compiling ArgumentParser ArgumentDiscussion.swift
[49/91] Compiling ArgumentParser Platform.swift
[50/91] Compiling ArgumentParser SequenceExtensions.swift
[51/91] Compiling ArgumentParser StringExtensions.swift
[52/91] Compiling ArgumentParser SwiftExtensions.swift
[53/91] Compiling ArgumentParser Tree.swift
[54/91] Compiling ArgumentParser ParserError.swift
[55/91] Compiling ArgumentParser SplitArguments.swift
[56/91] Compiling ArgumentParser DumpHelpGenerator.swift
[57/91] Compiling ArgumentParser HelpCommand.swift
[58/91] Compiling ArgumentParser HelpGenerator.swift
[59/91] Compiling ArgumentParser ParsableCommand.swift
[60/91] Compiling ArgumentParser ArgumentDecoder.swift
[61/91] Compiling ArgumentParser ArgumentDefinition.swift
[62/91] Compiling ArgumentParser ArgumentSet.swift
[63/91] Compiling ArgumentParser CommandParser.swift
[64/91] Compiling ArgumentParser CommandConfiguration.swift
[65/91] Compiling ArgumentParser CommandGroup.swift
[66/91] Compiling ArgumentParser EnumerableFlag.swift
[67/91] Compiling ArgumentParser ExpressibleByArgument.swift
[68/91] Compiling ArgumentParser ParsableArguments.swift
[69/91] Compiling ArgumentParser InputKey.swift
[70/91] Compiling ArgumentParser InputOrigin.swift
[71/91] Compiling ArgumentParser Name.swift
[72/91] Compiling ArgumentParser Parsed.swift
[73/91] Compiling ArgumentParser ParsedValues.swift
[74/91] Compiling ArgumentParser MessageInfo.swift
[75/91] Compiling ArgumentParser UsageGenerator.swift
[76/91] Compiling ArgumentParser CollectionExtensions.swift
[77/91] Compiling ArgumentParser Foundation.swift
[78/91] Compiling ArgumentParser Mutex.swift
[79/91] Emitting module AvieResolver
[80/91] Compiling AvieResolver SwiftToolFinder.swift
[81/91] Compiling AvieGraph DependencyGraph.swift
[82/91] Emitting module AvieGraph
[83/91] Compiling AvieGraph GraphTraversal.swift
[84/91] Compiling AvieResolver SPMDependencyOutput.swift
[85/91] Compiling AvieResolver SPMResolver.swift
[86/91] Compiling AvieResolver DependencyTransformer.swift
[87/91] Compiling AvieResolver ManifestReader.swift
[88/91] Compiling AvieResolver BinaryTargetDetector.swift
/Users/admin/builder/spi-builder-workspace/Sources/AvieResolver/BinaryTargetDetector.swift:58:28: warning: reference to captured var 'packageMap' in concurrently-executing code
 56 |         DispatchQueue.concurrentPerform(iterations: pathsArray.count) { index in
 57 |             let path = pathsArray[index]
 58 |             let identity = packageMap[path]!
    |                            `- warning: reference to captured var 'packageMap' in concurrently-executing code
 59 |
 60 |             if hasBinaryTarget(at: path, identity: identity, swiftExecutable: swiftExecutable) {
/Users/admin/builder/spi-builder-workspace/Sources/AvieResolver/BinaryTargetDetector.swift:62:17: warning: mutation of captured var 'result' in concurrently-executing code
 60 |             if hasBinaryTarget(at: path, identity: identity, swiftExecutable: swiftExecutable) {
 61 |                 lock.lock()
 62 |                 result.insert(identity)
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
 63 |                 lock.unlock()
 64 |             }
/Users/admin/builder/spi-builder-workspace/Sources/AvieResolver/BinaryTargetDetector.swift:67:13: warning: mutation of captured var 'completedCount' in concurrently-executing code
 65 |
 66 |             progressLock.lock()
 67 |             completedCount += 1
    |             `- warning: mutation of captured var 'completedCount' in concurrently-executing code
 68 |             let current = completedCount
 69 |             progressLock.unlock()
/Users/admin/builder/spi-builder-workspace/Sources/AvieResolver/BinaryTargetDetector.swift:68:27: warning: reference to captured var 'completedCount' in concurrently-executing code
 66 |             progressLock.lock()
 67 |             completedCount += 1
 68 |             let current = completedCount
    |                           `- warning: reference to captured var 'completedCount' in concurrently-executing code
 69 |             progressLock.unlock()
 70 |
[89/99] Compiling AvieRules UnreachablePinRule.swift
[90/99] Compiling AvieRules TestLeakageRule.swift
[91/99] Compiling AvieRules BinaryTargetRule.swift
[92/99] Compiling AvieRules Rule.swift
[93/99] Compiling AvieRules ExcessiveFanoutRule.swift
[94/99] Emitting module AvieRules
[95/99] Compiling AvieRules RuleEngine.swift
[96/99] Compiling AvieRules RuleMetadata.swift
[97/103] Compiling AvieDiff GraphSnapshot.swift
[98/103] Compiling AvieDiff SemanticVersion.swift
[99/103] Emitting module AvieDiff
[100/103] Compiling AvieDiff DiffEngine.swift
[101/107] Compiling AvieOutput SARIFFormatter.swift
[102/107] Compiling AvieOutput TerminalFormatter.swift
[103/107] Emitting module AvieOutput
[104/107] Compiling AvieOutput JSONFormatter.swift
[105/116] Compiling AvieCLI SnapshotCommand.swift
[106/116] Compiling AvieCLI SuppressCommand.swift
[107/116] Compiling AvieCLI CLIHelpers.swift
[108/116] Compiling AvieCLI ExplainCommand.swift
[109/116] Compiling AvieCLI DiffCommand.swift
[110/116] Compiling AvieCLI Banner.swift
[111/116] Compiling AvieCLI AvieCommand.swift
[112/116] Compiling AvieCLI AuditCommand.swift
[113/116] Emitting module AvieCLI
[113/116] Write Objects.LinkFileList
[114/116] Linking avie
[115/116] Applying avie
Build complete! (15.97s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetched https://github.com/apple/swift-argument-parser from cache (1.39s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.7.1 (1.92s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.7.1
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    }
  ],
  "manifest_display_name" : "avie",
  "name" : "avie",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "avie",
      "targets" : [
        "AvieCLI"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "AviePlugin",
      "targets" : [
        "AviePlugin"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "AvieCore",
      "targets" : [
        "AvieCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AvieRulesTests",
      "module_type" : "SwiftTarget",
      "name" : "AvieRulesTests",
      "path" : "Tests/AvieRulesTests",
      "sources" : [
        "AvieRulesTests.swift"
      ],
      "target_dependencies" : [
        "AvieRules",
        "AvieGraph"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AvieRules",
      "module_type" : "SwiftTarget",
      "name" : "AvieRules",
      "path" : "Sources/AvieRules",
      "product_memberships" : [
        "avie"
      ],
      "sources" : [
        "BinaryTargetRule.swift",
        "ExcessiveFanoutRule.swift",
        "Rule.swift",
        "RuleEngine.swift",
        "RuleMetadata.swift",
        "TestLeakageRule.swift",
        "UnreachablePinRule.swift"
      ],
      "target_dependencies" : [
        "AvieCore",
        "AvieGraph"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AvieResolverTests",
      "module_type" : "SwiftTarget",
      "name" : "AvieResolverTests",
      "path" : "Tests/AvieResolverTests",
      "sources" : [
        "AvieResolverTests.swift"
      ],
      "target_dependencies" : [
        "AvieResolver"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AvieResolver",
      "module_type" : "SwiftTarget",
      "name" : "AvieResolver",
      "path" : "Sources/AvieResolver",
      "product_memberships" : [
        "avie"
      ],
      "sources" : [
        "BinaryTargetDetector.swift",
        "DependencyTransformer.swift",
        "ManifestReader.swift",
        "SPMDependencyOutput.swift",
        "SPMResolver.swift",
        "SwiftToolFinder.swift"
      ],
      "target_dependencies" : [
        "AvieCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AviePlugin",
      "module_type" : "PluginTarget",
      "name" : "AviePlugin",
      "path" : "Plugins/AviePlugin",
      "plugin_capability" : {
        "intent" : {
          "description" : "Run Avie dependency graph audit",
          "type" : "custom",
          "verb" : "avie-audit"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "Write SARIF report",
            "type" : "writeToPackageDirectory"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "AviePlugin"
      ],
      "sources" : [
        "AviePlugin.swift"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "AvieOutputTests",
      "module_type" : "SwiftTarget",
      "name" : "AvieOutputTests",
      "path" : "Tests/AvieOutputTests",
      "sources" : [
        "AvieOutputTests.swift"
      ],
      "target_dependencies" : [
        "AvieOutput"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AvieOutput",
      "module_type" : "SwiftTarget",
      "name" : "AvieOutput",
      "path" : "Sources/AvieOutput",
      "product_memberships" : [
        "avie"
      ],
      "sources" : [
        "JSONFormatter.swift",
        "SARIFFormatter.swift",
        "TerminalFormatter.swift"
      ],
      "target_dependencies" : [
        "AvieCore",
        "AvieRules",
        "AvieDiff"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AvieGraphTests",
      "module_type" : "SwiftTarget",
      "name" : "AvieGraphTests",
      "path" : "Tests/AvieGraphTests",
      "sources" : [
        "AvieGraphTests.swift"
      ],
      "target_dependencies" : [
        "AvieGraph"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AvieGraph",
      "module_type" : "SwiftTarget",
      "name" : "AvieGraph",
      "path" : "Sources/AvieGraph",
      "product_memberships" : [
        "avie"
      ],
      "sources" : [
        "DependencyGraph.swift",
        "GraphTraversal.swift"
      ],
      "target_dependencies" : [
        "AvieCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AvieDiffTests",
      "module_type" : "SwiftTarget",
      "name" : "AvieDiffTests",
      "path" : "Tests/AvieDiffTests",
      "sources" : [
        "AvieDiffTests.swift"
      ],
      "target_dependencies" : [
        "AvieDiff"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AvieDiff",
      "module_type" : "SwiftTarget",
      "name" : "AvieDiff",
      "path" : "Sources/AvieDiff",
      "product_memberships" : [
        "avie"
      ],
      "sources" : [
        "DiffEngine.swift",
        "GraphSnapshot.swift",
        "SemanticVersion.swift"
      ],
      "target_dependencies" : [
        "AvieCore",
        "AvieGraph",
        "AvieRules"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AvieCoreTests",
      "module_type" : "SwiftTarget",
      "name" : "AvieCoreTests",
      "path" : "Tests/AvieCoreTests",
      "sources" : [
        "AvieCoreTests.swift"
      ],
      "target_dependencies" : [
        "AvieCore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AvieCore",
      "module_type" : "SwiftTarget",
      "name" : "AvieCore",
      "path" : "Sources/AvieCore",
      "product_memberships" : [
        "avie",
        "AvieCore"
      ],
      "sources" : [
        "ConfigurationLoader.swift",
        "Models/AvieConfiguration.swift",
        "Models/Finding.swift",
        "Models/PackageIdentity.swift",
        "Models/ResolvedPackage.swift",
        "Models/RuleID.swift",
        "Models/Suppression.swift",
        "Models/TargetDeclaration.swift",
        "Version.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AvieCLI",
      "module_type" : "SwiftTarget",
      "name" : "AvieCLI",
      "path" : "Sources/AvieCLI",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "avie"
      ],
      "sources" : [
        "AvieCommand.swift",
        "Banner.swift",
        "CLIHelpers.swift",
        "Commands/AuditCommand.swift",
        "Commands/DiffCommand.swift",
        "Commands/ExplainCommand.swift",
        "Commands/SnapshotCommand.swift",
        "Commands/SuppressCommand.swift"
      ],
      "target_dependencies" : [
        "AvieCore",
        "AvieResolver",
        "AvieGraph",
        "AvieRules",
        "AvieDiff",
        "AvieOutput"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.9"
}
Done.