The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of iTriangle, reference 1.17.0 (08509e), with Swift 6.2 (beta) for macOS (SPM) on 22 Jun 2025 13:56:31 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/iShape-Swift/iTriangle.git
Reference: 1.17.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/iShape-Swift/iTriangle
 * tag               1.17.0     -> FETCH_HEAD
HEAD is now at 08509ee fix on border point
Cloned https://github.com/iShape-Swift/iTriangle.git
Revision (git rev-parse @):
08509ee0f096131f116cb40ce4e4bb471d1431eb
SUCCESS checkout https://github.com/iShape-Swift/iTriangle.git at 1.17.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/iShape-Swift/iTriangle.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/6] Write sources
[5/6] Write swift-version-1EA4D86E10B52AF.txt
[7/21] Compiling iTree Array.swift
[8/21] Compiling iTree TreeNode.swift
[9/21] Compiling iTree RedBlackTree.swift
[10/21] Emitting module iTree
[11/21] Compiling iTree NodeStore.swift
[12/21] Compiling iFixFloat Triangle.swift
[13/21] Compiling iFixFloat UInt128.swift
[14/22] Emitting module iFixFloat
[15/22] Compiling iFixFloat FixFloat.swift
[16/22] Compiling iFixFloat FixAngle.swift
[17/22] Compiling iFixFloat BitPack.swift
[18/22] Compiling iFixFloat Vec.swift
[19/22] Compiling iFixFloat Point.swift
[20/22] Compiling iFixFloat Rect.swift
[21/22] Compiling iFixFloat FixVec.swift
[22/22] Compiling iFixFloat FixSin.swift
[23/32] Compiling iShape Path.swift
[24/33] Compiling iShape Shape.swift
[25/33] Compiling iShape CGFloat.swift
[26/33] Compiling iShape CGPoint.swift
[27/33] Compiling iShape FixShapes.swift
[28/33] Compiling iShape FixPaths.swift
[29/33] Compiling iShape FixPath.swift
[30/33] Compiling iShape FixBnd.swift
[31/33] Emitting module iShape
[32/33] Compiling iShape FixShape.swift
[33/33] Compiling iShape Adapter.swift
[34/70] Emitting module iOverlay
[35/74] Compiling iOverlay Simplify.swift
[36/74] Compiling iOverlay Solver.swift
[37/74] Compiling iOverlay CountSegment.swift
[38/74] Compiling iOverlay ScanFillList.swift
[39/74] Compiling iOverlay LineRange.swift
[40/74] Compiling iOverlay Point.swift
[41/74] Compiling iOverlay End.swift
[42/74] Compiling iOverlay Segment.swift
[43/74] Compiling iOverlay Array.swift
[44/74] Compiling iOverlay IdSegment.swift
[45/74] Compiling iOverlay ScanBindList.swift
[46/74] Compiling iOverlay ScanBindTree.swift
[47/74] Compiling iOverlay ScanFillTree.swift
[48/74] Compiling iOverlay Segment+Fill.swift
[49/74] Compiling iOverlay IdPoint.swift
[50/74] Compiling iOverlay Int.swift
[51/74] Compiling iOverlay ShapeBinder.swift
[52/74] Compiling iOverlay CGOverlay.swift
[53/74] Compiling iOverlay CGOverlayGraph.swift
[54/74] Compiling iOverlay Divide.swift
[55/74] Compiling iOverlay SplitSolver+Tree.swift
[56/74] Compiling iOverlay SplitSolver.swift
[57/74] Compiling iOverlay OverlayGraph+ExtractVector.swift
[58/74] Compiling iOverlay VectorEdge.swift
[59/74] Compiling iOverlay FillRule.swift
[60/74] Compiling iOverlay Filter.swift
[61/74] Compiling iOverlay Overlay.swift
[62/74] Compiling iOverlay OverlayGraph+Extract.swift
[63/74] Compiling iOverlay ShapeCount.swift
[64/74] Compiling iOverlay XSegment.swift
[65/74] Compiling iOverlay CrossSolver.swift
[66/74] Compiling iOverlay Fragment.swift
[67/74] Compiling iOverlay OverlayGraph.swift
[68/74] Compiling iOverlay OverlayLink.swift
[69/74] Compiling iOverlay OverlayNode.swift
[70/74] Compiling iOverlay OverlayRule.swift
[71/74] Compiling iOverlay LineMark.swift
[72/74] Compiling iOverlay SegmentTree.swift
[73/74] Compiling iOverlay SpaceLayout.swift
[74/74] Compiling iOverlay SplitSolver+List.swift
[75/91] Compiling iTriangle Shape+Delaunay.swift
[76/91] Compiling iTriangle Int.swift
[77/91] Compiling iTriangle Array3d.swift
[78/91] Compiling iTriangle DTriangle.swift
[79/91] Compiling iTriangle Delaunay.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Delaunay/Delaunay.swift:15:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 13 |     private var buffer: UnsafeMutablePointer<Int>
 14 |     private var capacity: Int
 15 |     private (set) var count: Int
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 16 |
 17 |     subscript(index: Int) -> Int {
[80/91] Compiling iTriangle IndexBuffer.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Delaunay/Delaunay.swift:15:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 13 |     private var buffer: UnsafeMutablePointer<Int>
 14 |     private var capacity: Int
 15 |     private (set) var count: Int
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 16 |
 17 |     subscript(index: Int) -> Int {
[81/91] Emitting module iTriangle
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Delaunay/Delaunay.swift:15:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 13 |     private var buffer: UnsafeMutablePointer<Int>
 14 |     private var capacity: Int
 15 |     private (set) var count: Int
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 16 |
 17 |     subscript(index: Int) -> Int {
[82/91] Compiling iTriangle DVertex.swift
[83/91] Compiling iTriangle Delaunay+Convex.swift
[84/92] Compiling iTriangle MNavNode.swift
[85/92] Compiling iTriangle MPoly.swift
[86/92] Compiling iTriangle Shape+Triangulate.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Delaunay/Delaunay.swift:15:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 13 |     private var buffer: UnsafeMutablePointer<Int>
 14 |     private var capacity: Int
 15 |     private (set) var count: Int
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 16 |
 17 |     subscript(index: Int) -> Int {
[87/92] Compiling iTriangle Shape+nLayout.swift
[88/92] Compiling iTriangle CGShape+Triangulate.swift
[89/92] Compiling iTriangle CGTriangulation.swift
[90/92] Compiling iTriangle MSliceBuffer.swift
[91/92] Compiling iTriangle Shape+mLayout.swift
[92/92] Compiling iTriangle Triangulation.swift
Build complete! (14.60s)
Fetching https://github.com/iShape-Swift/iOverlay
Fetching https://github.com/iShape-Swift/iShape
Fetching https://github.com/iShape-Swift/iFixFloat
[1/195] Fetching ifixfloat
[196/3768] Fetching ifixfloat, ioverlay
[411/4205] Fetching ifixfloat, ioverlay, ishape
Fetched https://github.com/iShape-Swift/iFixFloat from cache (1.06s)
Fetched https://github.com/iShape-Swift/iOverlay from cache (1.06s)
Fetched https://github.com/iShape-Swift/iShape from cache (1.06s)
Computing version for https://github.com/iShape-Swift/iOverlay
Computed https://github.com/iShape-Swift/iOverlay at 1.22.0 (1.50s)
Fetching https://github.com/iShape-Swift/iTree
[1/204] Fetching itree
Fetched https://github.com/iShape-Swift/iTree from cache (0.71s)
Computing version for https://github.com/iShape-Swift/iShape
Computed https://github.com/iShape-Swift/iShape at 1.13.0 (3.34s)
Computing version for https://github.com/iShape-Swift/iFixFloat
Computed https://github.com/iShape-Swift/iFixFloat at 1.9.0 (0.41s)
Computing version for https://github.com/iShape-Swift/iTree
Computed https://github.com/iShape-Swift/iTree at 0.5.0 (0.41s)
Creating working copy for https://github.com/iShape-Swift/iOverlay
Working copy of https://github.com/iShape-Swift/iOverlay resolved at 1.22.0
Creating working copy for https://github.com/iShape-Swift/iFixFloat
Working copy of https://github.com/iShape-Swift/iFixFloat resolved at 1.9.0
Creating working copy for https://github.com/iShape-Swift/iTree
Working copy of https://github.com/iShape-Swift/iTree resolved at 0.5.0
Creating working copy for https://github.com/iShape-Swift/iShape
Working copy of https://github.com/iShape-Swift/iShape resolved at 1.13.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "ifixfloat",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.9.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/iShape-Swift/iFixFloat"
    },
    {
      "identity" : "ishape",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.13.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/iShape-Swift/iShape"
    },
    {
      "identity" : "ioverlay",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.22.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/iShape-Swift/iOverlay"
    }
  ],
  "manifest_display_name" : "iTriangle",
  "name" : "iTriangle",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "iTriangle",
      "targets" : [
        "iTriangle"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "iTriangleTests",
      "module_type" : "SwiftTarget",
      "name" : "iTriangleTests",
      "path" : "Tests/iTriangleTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_0.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_1.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_10.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_11.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_12.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_13.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_14.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_15.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_16.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_17.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_18.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_19.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_2.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_20.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_21.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_22.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_23.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_24.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_25.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_26.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_27.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_28.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_29.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_3.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_30.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_31.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_32.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_33.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_34.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_35.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_36.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_37.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_38.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_39.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_4.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_40.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_41.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_42.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_43.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_44.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_45.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_46.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_47.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_48.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_49.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_5.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_50.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_51.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_52.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_53.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_54.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_55.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_56.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_57.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_58.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_59.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_6.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_60.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_61.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_62.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_63.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_64.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_65.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_66.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_67.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_68.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_69.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_7.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_70.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_71.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_72.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_8.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_9.json",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "ReadmeTests.swift",
        "TriangulationTestBank.swift",
        "iConvexTests.swift",
        "iTriangleTests.swift"
      ],
      "target_dependencies" : [
        "iTriangle"
      ],
      "type" : "test"
    },
    {
      "c99name" : "iTriangle",
      "module_type" : "SwiftTarget",
      "name" : "iTriangle",
      "path" : "Sources/iTriangle",
      "product_dependencies" : [
        "iFixFloat",
        "iShape",
        "iOverlay"
      ],
      "product_memberships" : [
        "iTriangle"
      ],
      "sources" : [
        "Delaunay/Array3d.swift",
        "Delaunay/DTriangle.swift",
        "Delaunay/DVertex.swift",
        "Delaunay/Delaunay+Convex.swift",
        "Delaunay/Delaunay.swift",
        "Delaunay/IndexBuffer.swift",
        "Delaunay/Shape+Delaunay.swift",
        "Int.swift",
        "Monotone/MNavNode.swift",
        "Monotone/MPoly.swift",
        "Monotone/MSliceBuffer.swift",
        "Monotone/Shape+mLayout.swift",
        "Monotone/Shape+nLayout.swift",
        "Triangulate/CGShape+Triangulate.swift",
        "Triangulate/CGTriangulation.swift",
        "Triangulate/Shape+Triangulate.swift",
        "Triangulate/Triangulation.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
Done.