The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of Fortify, reference 2.1.12 (999f26), with Swift 6.0 for macOS (SPM) on 25 Mar 2025 19:43:45 UTC.

Swift 6 data race errors: 5

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.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.60.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/johnno1962/Fortify.git
Reference: 2.1.12
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/johnno1962/Fortify
 * tag               2.1.12     -> FETCH_HEAD
HEAD is now at 999f264 Remove #filePath
Cloned https://github.com/johnno1962/Fortify.git
Revision (git rev-parse @):
999f2644ed80ecd67db3344c79bfe9f329f03ad5
SUCCESS checkout https://github.com/johnno1962/Fortify.git at 2.1.12
Fetching https://github.com/johnno1962/DLKit
Fetching https://github.com/johnno1962/Popen.git
Fetching https://github.com/johnno1962/StringIndex
Fetching https://github.com/johnno1962/SwiftRegex5.git
[1/209] Fetching swiftregex5
[16/596] Fetching swiftregex5, dlkit
[249/750] Fetching swiftregex5, dlkit, stringindex
Fetched https://github.com/johnno1962/SwiftRegex5.git from cache (0.74s)
[1/127] Fetching popen
Fetched https://github.com/johnno1962/StringIndex from cache (5.47s)
Fetched https://github.com/johnno1962/DLKit from cache (5.47s)
Fetched https://github.com/johnno1962/Popen.git from cache (5.47s)
Computing version for https://github.com/johnno1962/SwiftRegex5.git
Computed https://github.com/johnno1962/SwiftRegex5.git at 6.1.3 (0.68s)
Computing version for https://github.com/johnno1962/StringIndex
Computed https://github.com/johnno1962/StringIndex at 2.2.4 (0.55s)
Computing version for https://github.com/johnno1962/Popen.git
Computed https://github.com/johnno1962/Popen.git at 2.1.7 (0.55s)
Computing version for https://github.com/johnno1962/DLKit
Computed https://github.com/johnno1962/DLKit at 3.4.7 (0.55s)
Fetching https://github.com/johnno1962/fishhook
[1/169] Fetching fishhook
Fetched https://github.com/johnno1962/fishhook from cache (0.58s)
Computing version for https://github.com/johnno1962/fishhook
Computed https://github.com/johnno1962/fishhook at 1.2.1 (0.55s)
Creating working copy for https://github.com/johnno1962/fishhook
Working copy of https://github.com/johnno1962/fishhook resolved at 1.2.1
Creating working copy for https://github.com/johnno1962/SwiftRegex5.git
Working copy of https://github.com/johnno1962/SwiftRegex5.git resolved at 6.1.3
Creating working copy for https://github.com/johnno1962/StringIndex
Working copy of https://github.com/johnno1962/StringIndex resolved at 2.2.4
Creating working copy for https://github.com/johnno1962/DLKit
Working copy of https://github.com/johnno1962/DLKit resolved at 3.4.7
Creating working copy for https://github.com/johnno1962/Popen.git
Working copy of https://github.com/johnno1962/Popen.git resolved at 2.1.7
========================================
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",
  "dependencies": [
    {
      "identity": "fortify",
      "name": "Fortify",
      "url": "https://github.com/johnno1962/Fortify.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Fortify",
      "dependencies": [
        {
          "identity": "stringindex",
          "name": "StringIndex",
          "url": "https://github.com/johnno1962/StringIndex",
          "version": "2.2.4",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/StringIndex",
          "dependencies": [
          ]
        },
        {
          "identity": "swiftregex5",
          "name": "SwiftRegex",
          "url": "https://github.com/johnno1962/SwiftRegex5.git",
          "version": "6.1.3",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftRegex5",
          "dependencies": [
          ]
        },
        {
          "identity": "popen",
          "name": "Popen",
          "url": "https://github.com/johnno1962/Popen.git",
          "version": "2.1.7",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Popen",
          "dependencies": [
          ]
        },
        {
          "identity": "dlkit",
          "name": "DLKit",
          "url": "https://github.com/johnno1962/DLKit",
          "version": "3.4.7",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/DLKit",
          "dependencies": [
            {
              "identity": "fishhook",
              "name": "fishhook",
              "url": "https://github.com/johnno1962/fishhook",
              "version": "1.2.1",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/fishhook",
              "dependencies": [
              ]
            }
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/johnno1962/Fortify.git
[1/148] Fetching fortify
Fetched https://github.com/johnno1962/Fortify.git from cache (0.65s)
Fetching https://github.com/johnno1962/StringIndex from cache
Fetching https://github.com/johnno1962/Popen.git from cache
Fetching https://github.com/johnno1962/DLKit from cache
Fetching https://github.com/johnno1962/SwiftRegex5.git from cache
Fetched https://github.com/johnno1962/StringIndex from cache (0.39s)
Fetched https://github.com/johnno1962/DLKit from cache (0.40s)
Fetched https://github.com/johnno1962/Popen.git from cache (0.67s)
Fetched https://github.com/johnno1962/SwiftRegex5.git from cache (0.67s)
Computing version for https://github.com/johnno1962/SwiftRegex5.git
Computed https://github.com/johnno1962/SwiftRegex5.git at 6.1.3 (0.02s)
Computing version for https://github.com/johnno1962/StringIndex
Computed https://github.com/johnno1962/StringIndex at 2.2.4 (0.02s)
Computing version for https://github.com/johnno1962/Popen.git
Computed https://github.com/johnno1962/Popen.git at 2.1.7 (0.02s)
Computing version for https://github.com/johnno1962/DLKit
Computed https://github.com/johnno1962/DLKit at 3.4.7 (0.02s)
Fetching https://github.com/johnno1962/fishhook from cache
Fetched https://github.com/johnno1962/fishhook from cache (0.38s)
Computing version for https://github.com/johnno1962/fishhook
Computed https://github.com/johnno1962/fishhook at 1.2.1 (0.02s)
Creating working copy for https://github.com/johnno1962/DLKit
Working copy of https://github.com/johnno1962/DLKit resolved at 3.4.7
Creating working copy for https://github.com/johnno1962/fishhook
Working copy of https://github.com/johnno1962/fishhook resolved at 1.2.1
Creating working copy for https://github.com/johnno1962/Fortify.git
Working copy of https://github.com/johnno1962/Fortify.git resolved at 2.1.12 (999f264)
Creating working copy for https://github.com/johnno1962/Popen.git
Working copy of https://github.com/johnno1962/Popen.git resolved at 2.1.7
Creating working copy for https://github.com/johnno1962/SwiftRegex5.git
Working copy of https://github.com/johnno1962/SwiftRegex5.git resolved at 6.1.3
Creating working copy for https://github.com/johnno1962/StringIndex
Working copy of https://github.com/johnno1962/StringIndex resolved at 2.2.4
warning: '.resolve-product-dependencies': dependency 'fortify' is not used by any target
Found 4 product dependencies
  - StringIndex
  - SwiftRegex
  - Popen
  - DLKit
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/johnno1962/Fortify.git
https://github.com/johnno1962/Fortify.git
{
  "dependencies" : [
    {
      "identity" : "stringindex",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/StringIndex"
    },
    {
      "identity" : "swiftregex5",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "6.0.1",
            "upper_bound" : "7.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/SwiftRegex5.git"
    },
    {
      "identity" : "popen",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.1.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/Popen.git"
    },
    {
      "identity" : "dlkit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.2.3",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/DLKit"
    }
  ],
  "manifest_display_name" : "Fortify",
  "name" : "Fortify",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Fortify",
      "targets" : [
        "Fortify"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FortifyTests",
      "module_type" : "SwiftTarget",
      "name" : "FortifyTests",
      "path" : "Tests/FortifyTests",
      "sources" : [
        "FortifyTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "Fortify"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Fortify",
      "module_type" : "SwiftTarget",
      "name" : "Fortify",
      "path" : "Sources",
      "product_dependencies" : [
        "StringIndex",
        "DLKit",
        "Popen",
        "DLKitC",
        "SwiftRegex"
      ],
      "product_memberships" : [
        "Fortify"
      ],
      "sources" : [
        "Fortify.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.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
Building for debugging...
[0/10] Write sources
[5/10] Write swift-version-5BDAB9E9C0126B9D.txt
[6/23] Compiling DLKitC DLKitC.c
[7/23] Compiling fishhook fishhook.c
[8/23] Compiling DLKitC trie_dlops.mm
[9/23] Compiling DLKitC trie_dladdr.mm
[11/30] Compiling DLKit Iterators.swift
[12/30] Compiling Popen Glob.swift
[13/30] Compiling DLKit Interposing.swift
[14/30] Compiling DLKit ImageSymbols.swift
[15/30] Compiling Popen Topen.swift
[16/30] Compiling StringIndex Subscripts.swift
[17/30] Compiling Popen Fstat.swift
[18/30] Compiling Popen Fopen.swift
[19/30] Emitting module Popen
[20/30] Compiling StringIndex OffsetIndex.swift
[21/30] Emitting module StringIndex
[22/30] Compiling StringIndex StringIndex.swift
[23/30] Compiling DLKit Demangling.swift
[24/30] Compiling DLKit FileSymbols.swift
[25/30] Compiling DLKit DLKit.swift
[26/30] Emitting module DLKit
[27/30] Compiling Popen Popen.swift
[28/30] Compiling Popen Stream.swift
[29/30] Emitting module SwiftRegex
[30/30] Compiling SwiftRegex TupleRegex.swift
[31/32] Emitting module Fortify
/Users/admin/builder/spi-builder-workspace/Sources/Fortify.swift:81:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 79 | }
 80 |
 81 | @_silgen_name ("setjmp")
    |  `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 82 | public func setjump(_: UnsafeMutablePointer<jmp_buf>) -> Int32
 83 |
/Users/admin/builder/spi-builder-workspace/Sources/Fortify.swift:84:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 82 | public func setjump(_: UnsafeMutablePointer<jmp_buf>) -> Int32
 83 |
 84 | @_silgen_name ("longjmp")
    |  `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 85 | public func longjump(_: UnsafeMutablePointer<jmp_buf>, _: Int32) -> Never
 86 |
/Users/admin/builder/spi-builder-workspace/Sources/Fortify.swift:38:16: warning: static property 'keyLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 36 | open class ThreadLocal {
 37 |     #if !os(Linux)
 38 |     static var keyLock = OS_SPINLOCK_INIT
    |                |- warning: static property 'keyLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'keyLock' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'keyLock' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |     #endif
 40 |
/Users/admin/builder/spi-builder-workspace/Sources/Fortify.swift:91:24: warning: static property 'pthreadKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 89 | open class Fortify: ThreadLocal {
 90 |
 91 |     static private var pthreadKey: pthread_key_t = 0
    |                        |- warning: static property 'pthreadKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'pthreadKey' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'pthreadKey' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 92 |
 93 |     override open class var threadKeyPointer: UnsafeMutablePointer<pthread_key_t> {
/Users/admin/builder/spi-builder-workspace/Sources/Fortify.swift:116:23: warning: static property 'signalsTrapped' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
114 |     }()
115 |
116 |     public static var signalsTrapped = [
    |                       |- warning: static property 'signalsTrapped' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'signalsTrapped' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'signalsTrapped' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
117 |         SIGILL: "SIGILL", // Force unwrap of nil etc.
118 |         SIGABRT: "SIGABRT", // Bad cast 5.2
[32/32] Compiling Fortify Fortify.swift
/Users/admin/builder/spi-builder-workspace/Sources/Fortify.swift:81:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 79 | }
 80 |
 81 | @_silgen_name ("setjmp")
    |  `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 82 | public func setjump(_: UnsafeMutablePointer<jmp_buf>) -> Int32
 83 |
/Users/admin/builder/spi-builder-workspace/Sources/Fortify.swift:84:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 82 | public func setjump(_: UnsafeMutablePointer<jmp_buf>) -> Int32
 83 |
 84 | @_silgen_name ("longjmp")
    |  `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 85 | public func longjump(_: UnsafeMutablePointer<jmp_buf>, _: Int32) -> Never
 86 |
/Users/admin/builder/spi-builder-workspace/Sources/Fortify.swift:38:16: warning: static property 'keyLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 36 | open class ThreadLocal {
 37 |     #if !os(Linux)
 38 |     static var keyLock = OS_SPINLOCK_INIT
    |                |- warning: static property 'keyLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'keyLock' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'keyLock' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |     #endif
 40 |
/Users/admin/builder/spi-builder-workspace/Sources/Fortify.swift:91:24: warning: static property 'pthreadKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 89 | open class Fortify: ThreadLocal {
 90 |
 91 |     static private var pthreadKey: pthread_key_t = 0
    |                        |- warning: static property 'pthreadKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'pthreadKey' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'pthreadKey' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 92 |
 93 |     override open class var threadKeyPointer: UnsafeMutablePointer<pthread_key_t> {
/Users/admin/builder/spi-builder-workspace/Sources/Fortify.swift:116:23: warning: static property 'signalsTrapped' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
114 |     }()
115 |
116 |     public static var signalsTrapped = [
    |                       |- warning: static property 'signalsTrapped' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'signalsTrapped' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'signalsTrapped' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
117 |         SIGILL: "SIGILL", // Force unwrap of nil etc.
118 |         SIGABRT: "SIGABRT", // Bad cast 5.2
/Users/admin/builder/spi-builder-workspace/Sources/Fortify.swift:156:25: warning: capture of 'runLoop' with non-sendable type 'RunLoop' in a `@Sendable` closure
154 |                 do {
155 |                     try protect {
156 |                         runLoop.run()
    |                         `- warning: capture of 'runLoop' with non-sendable type 'RunLoop' in a `@Sendable` closure
157 |                     }
158 |                 }
Foundation.RunLoop:1:12: note: class 'RunLoop' does not conform to the 'Sendable' protocol
 1 | open class RunLoop : NSObject {
   |            `- note: class 'RunLoop' does not conform to the 'Sendable' protocol
 2 |     open class var current: RunLoop { get }
 3 |     @available(swift, obsoleted: 3, renamed: "current")
/Users/admin/builder/spi-builder-workspace/Sources/Fortify.swift:160:21: warning: capture of 'onError' with non-sendable type '(any Error) -> Void' in a `@Sendable` closure
158 |                 }
159 |                 catch {
160 |                     onError(error)
    |                     |- warning: capture of 'onError' with non-sendable type '(any Error) -> Void' in a `@Sendable` closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
161 |                 }
162 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Fortify.swift:156:25: warning: capture of 'runLoop' with non-sendable type 'RunLoop' in an isolated closure; this is an error in the Swift 6 language mode
154 |                 do {
155 |                     try protect {
156 |                         runLoop.run()
    |                         `- warning: capture of 'runLoop' with non-sendable type 'RunLoop' in an isolated closure; this is an error in the Swift 6 language mode
157 |                     }
158 |                 }
Foundation.RunLoop:1:12: note: class 'RunLoop' does not conform to the 'Sendable' protocol
 1 | open class RunLoop : NSObject {
   |            `- note: class 'RunLoop' does not conform to the 'Sendable' protocol
 2 |     open class var current: RunLoop { get }
 3 |     @available(swift, obsoleted: 3, renamed: "current")
Build complete! (24.99s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "stringindex",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/StringIndex"
    },
    {
      "identity" : "swiftregex5",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "6.0.1",
            "upper_bound" : "7.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/SwiftRegex5.git"
    },
    {
      "identity" : "popen",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.1.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/Popen.git"
    },
    {
      "identity" : "dlkit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.2.3",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnno1962/DLKit"
    }
  ],
  "manifest_display_name" : "Fortify",
  "name" : "Fortify",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Fortify",
      "targets" : [
        "Fortify"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FortifyTests",
      "module_type" : "SwiftTarget",
      "name" : "FortifyTests",
      "path" : "Tests/FortifyTests",
      "sources" : [
        "FortifyTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "Fortify"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Fortify",
      "module_type" : "SwiftTarget",
      "name" : "Fortify",
      "path" : "Sources",
      "product_dependencies" : [
        "StringIndex",
        "DLKit",
        "Popen",
        "DLKitC",
        "SwiftRegex"
      ],
      "product_memberships" : [
        "Fortify"
      ],
      "sources" : [
        "Fortify.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Done.