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 main (999f26), with Swift 6.0 for macOS (SPM) on 25 Mar 2025 19:45:47 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: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/johnno1962/Fortify
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
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 main
Fetching https://github.com/johnno1962/SwiftRegex5.git
Fetching https://github.com/johnno1962/StringIndex
Fetching https://github.com/johnno1962/DLKit
Fetching https://github.com/johnno1962/Popen.git
[1/154] Fetching stringindex
[62/281] Fetching stringindex, popen
[189/490] Fetching stringindex, popen, swiftregex5
[339/877] Fetching stringindex, popen, swiftregex5, dlkit
Fetched https://github.com/johnno1962/Popen.git from cache (0.75s)
Fetched https://github.com/johnno1962/StringIndex from cache (0.75s)
Fetched https://github.com/johnno1962/DLKit from cache (0.75s)
Fetched https://github.com/johnno1962/SwiftRegex5.git from cache (0.75s)
Computing version for https://github.com/johnno1962/SwiftRegex5.git
Computed https://github.com/johnno1962/SwiftRegex5.git at 6.1.3 (0.52s)
Computing version for https://github.com/johnno1962/StringIndex
Computed https://github.com/johnno1962/StringIndex at 2.2.4 (0.52s)
Computing version for https://github.com/johnno1962/Popen.git
Computed https://github.com/johnno1962/Popen.git at 2.1.7 (0.56s)
Computing version for https://github.com/johnno1962/DLKit
Computed https://github.com/johnno1962/DLKit at 3.4.7 (0.52s)
Fetching https://github.com/johnno1962/fishhook
[1/169] Fetching fishhook
Fetched https://github.com/johnno1962/fishhook from cache (0.65s)
Computing version for https://github.com/johnno1962/fishhook
Computed https://github.com/johnno1962/fishhook at 1.2.1 (0.49s)
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/Popen.git
Working copy of https://github.com/johnno1962/Popen.git resolved at 2.1.7
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/SwiftRegex5.git
Working copy of https://github.com/johnno1962/SwiftRegex5.git resolved at 6.1.3
Creating working copy for https://github.com/johnno1962/fishhook
Working copy of https://github.com/johnno1962/fishhook resolved at 1.2.1
========================================
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.69s)
Fetching https://github.com/johnno1962/StringIndex from cache
Fetching https://github.com/johnno1962/Popen.git from cache
Fetching https://github.com/johnno1962/SwiftRegex5.git from cache
Fetching https://github.com/johnno1962/DLKit from cache
Fetched https://github.com/johnno1962/StringIndex from cache (0.44s)
Fetched https://github.com/johnno1962/DLKit from cache (0.45s)
Fetched https://github.com/johnno1962/SwiftRegex5.git from cache (0.45s)
Fetched https://github.com/johnno1962/Popen.git from cache (0.45s)
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.40s)
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/Fortify.git
Working copy of https://github.com/johnno1962/Fortify.git resolved at main (999f264)
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/SwiftRegex5.git
Working copy of https://github.com/johnno1962/SwiftRegex5.git resolved at 6.1.3
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/Popen.git
Working copy of https://github.com/johnno1962/Popen.git resolved at 2.1.7
Creating working copy for https://github.com/johnno1962/DLKit
Working copy of https://github.com/johnno1962/DLKit resolved at 3.4.7
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 Topen.swift
[13/30] Compiling Popen Glob.swift
[14/30] Compiling Popen Fstat.swift
[15/30] Emitting module Popen
[16/30] Compiling Popen Fopen.swift
[17/30] Compiling DLKit Interposing.swift
[18/30] Compiling DLKit Demangling.swift
[19/30] Compiling DLKit FileSymbols.swift
[20/30] Compiling DLKit ImageSymbols.swift
[21/30] Compiling Popen Popen.swift
[22/30] Compiling Popen Stream.swift
[23/30] Emitting module DLKit
[24/30] Compiling DLKit DLKit.swift
[25/30] Emitting module StringIndex
[26/30] Compiling StringIndex OffsetIndex.swift
[27/30] Compiling StringIndex Subscripts.swift
[28/30] Compiling StringIndex StringIndex.swift
[29/30] Compiling SwiftRegex TupleRegex.swift
[30/30] Emitting module SwiftRegex
[31/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")
[32/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
Build complete! (24.45s)
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.