The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Units, reference main (78ffb0), with Swift 6.1 for macOS (SPM) on 19 Sep 2025 09:19:55 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

Build Log

========================================
RunAll
========================================
Builder version: 4.67.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NeedleInAJayStack/Units.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/NeedleInAJayStack/Units
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 78ffb04 Merge pull request #21 from wildthink/percent
Cloned https://github.com/NeedleInAJayStack/Units.git
Revision (git rev-parse @):
78ffb042179acbc3271aacbc2899b62aa4aa9c10
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/NeedleInAJayStack/Units.git at main
Fetching https://github.com/apple/swift-argument-parser from cache
Fetched https://github.com/apple/swift-argument-parser from cache (1.26s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.1 (1.82s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.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": "units",
      "name": "Units",
      "url": "https://github.com/NeedleInAJayStack/Units.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Units",
      "dependencies": [
        {
          "identity": "swift-argument-parser",
          "name": "swift-argument-parser",
          "url": "https://github.com/apple/swift-argument-parser",
          "version": "1.6.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-argument-parser",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/NeedleInAJayStack/Units.git
[1/1158] Fetching units
Fetched https://github.com/NeedleInAJayStack/Units.git from cache (0.84s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetched https://github.com/apple/swift-argument-parser from cache (0.60s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (1.14s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.6.1
Creating working copy for https://github.com/NeedleInAJayStack/Units.git
Working copy of https://github.com/NeedleInAJayStack/Units.git resolved at main (78ffb04)
Found 1 product dependencies
  - swift-argument-parser
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/NeedleInAJayStack/Units.git
https://github.com/NeedleInAJayStack/Units.git
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    }
  ],
  "manifest_display_name" : "Units",
  "name" : "Units",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Units",
      "targets" : [
        "Units"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "unit",
      "targets" : [
        "CLI"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "swift_languages_versions" : [
    "5",
    "6"
  ],
  "targets" : [
    {
      "c99name" : "UnitsTests",
      "module_type" : "SwiftTarget",
      "name" : "UnitsTests",
      "path" : "Tests/UnitsTests",
      "sources" : [
        "DefinitionTests.swift",
        "ExpressionTests.swift",
        "MeasurementTests.swift",
        "ParserTests.swift",
        "PercentTests.swift",
        "UnitTests.swift",
        "XCTest+Measurement.swift"
      ],
      "target_dependencies" : [
        "Units"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Units",
      "module_type" : "SwiftTarget",
      "name" : "Units",
      "path" : "Sources/Units",
      "product_memberships" : [
        "Units",
        "unit"
      ],
      "sources" : [
        "Expression.swift",
        "Measurement/Double+Measurement.swift",
        "Measurement/Int+Measurement.swift",
        "Measurement/Measurement.swift",
        "Measurement/Percent+Measurement.swift",
        "Parser.swift",
        "Quantity.swift",
        "Registry.swift",
        "RegistryBuilder.swift",
        "Unit/DefaultUnits.swift",
        "Unit/DefinedUnit.swift",
        "Unit/Equations.swift",
        "Unit/Unit+DefaultUnits.swift",
        "Unit/Unit.swift",
        "UnitError.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PerformanceTests",
      "module_type" : "SwiftTarget",
      "name" : "PerformanceTests",
      "path" : "Tests/PerformanceTests",
      "sources" : [
        "PerformanceTests.swift"
      ],
      "target_dependencies" : [
        "Units"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CLI",
      "module_type" : "SwiftTarget",
      "name" : "CLI",
      "path" : "Sources/CLI",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "unit"
      ],
      "sources" : [
        "Convert.swift",
        "List.swift",
        "Unit.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "Units"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.4"
}
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
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/10] Write sources
[3/10] Write unit-entitlement.plist
[5/10] Write sources
[6/10] Write swift-version-2F0A5646E1D333AE.txt
[8/27] Emitting module ArgumentParserToolInfo
[9/27] Compiling ArgumentParserToolInfo ToolInfo.swift
[10/66] Emitting module ArgumentParser
[11/70] Compiling ArgumentParser Platform.swift
[12/70] Compiling ArgumentParser SequenceExtensions.swift
[13/70] Compiling ArgumentParser StringExtensions.swift
[14/70] Compiling ArgumentParser Tree.swift
[15/70] Compiling ArgumentParser ArgumentHelp.swift
[16/70] Compiling ArgumentParser ArgumentVisibility.swift
[17/70] Compiling ArgumentParser CompletionKind.swift
[18/70] Compiling ArgumentParser Errors.swift
[19/70] Compiling ArgumentParser Flag.swift
[20/70] Compiling ArgumentParser ParsableArguments.swift
[21/70] Compiling ArgumentParser ParsableArgumentsValidation.swift
[22/70] Compiling ArgumentParser ParsableCommand.swift
[23/70] Compiling ArgumentParser ArgumentDecoder.swift
[24/70] Compiling Units Unit+DefaultUnits.swift
[25/70] Compiling Units Unit.swift
[26/71] Compiling Units DefinedUnit.swift
[29/71] Compiling Units Equations.swift
[31/71] Compiling ArgumentParser NameSpecification.swift
[36/71] Emitting module Units
[39/71] Compiling ArgumentParser BashCompletionsGenerator.swift
[40/71] Compiling ArgumentParser CompletionsGenerator.swift
[41/71] Compiling ArgumentParser FishCompletionsGenerator.swift
[42/71] Compiling ArgumentParser ZshCompletionsGenerator.swift
[43/71] Compiling ArgumentParser Argument.swift
[44/71] Compiling ArgumentParser ParserError.swift
[45/71] Compiling ArgumentParser SplitArguments.swift
[46/71] Compiling ArgumentParser DumpHelpGenerator.swift
[47/71] Compiling ArgumentParser HelpCommand.swift
[49/71] Compiling ArgumentParser Option.swift
[50/71] Compiling ArgumentParser OptionGroup.swift
[51/71] Compiling ArgumentParser AsyncParsableCommand.swift
[52/71] Compiling ArgumentParser CommandConfiguration.swift
[53/71] Compiling ArgumentParser CommandGroup.swift
[54/71] Compiling ArgumentParser EnumerableFlag.swift
[55/71] Compiling ArgumentParser ExpressibleByArgument.swift
[56/71] Compiling ArgumentParser ArgumentDefinition.swift
[57/71] Compiling ArgumentParser ArgumentSet.swift
[58/71] Compiling ArgumentParser CommandParser.swift
[59/71] Compiling ArgumentParser InputKey.swift
[60/71] Compiling ArgumentParser HelpGenerator.swift
[61/71] Compiling ArgumentParser MessageInfo.swift
[62/71] Compiling ArgumentParser UsageGenerator.swift
[63/71] Compiling ArgumentParser CollectionExtensions.swift
[64/71] Compiling ArgumentParser InputOrigin.swift
[65/71] Compiling ArgumentParser Name.swift
[66/71] Compiling ArgumentParser Parsed.swift
[67/71] Compiling ArgumentParser ParsedValues.swift
[68/71] Compiling Units UnitError.swift
[69/76] Compiling CLI Unit.swift
[70/76] Compiling CLI main.swift
[71/76] Compiling CLI Convert.swift
[72/76] Compiling CLI List.swift
[73/76] Emitting module CLI
[73/76] Write Objects.LinkFileList
[74/76] Linking unit
[75/76] Applying unit
Build complete! (6.72s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    }
  ],
  "manifest_display_name" : "Units",
  "name" : "Units",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Units",
      "targets" : [
        "Units"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "unit",
      "targets" : [
        "CLI"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "swift_languages_versions" : [
    "5",
    "6"
  ],
  "targets" : [
    {
      "c99name" : "UnitsTests",
      "module_type" : "SwiftTarget",
      "name" : "UnitsTests",
      "path" : "Tests/UnitsTests",
      "sources" : [
        "DefinitionTests.swift",
        "ExpressionTests.swift",
        "MeasurementTests.swift",
        "ParserTests.swift",
        "PercentTests.swift",
        "UnitTests.swift",
        "XCTest+Measurement.swift"
      ],
      "target_dependencies" : [
        "Units"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Units",
      "module_type" : "SwiftTarget",
      "name" : "Units",
      "path" : "Sources/Units",
      "product_memberships" : [
        "Units",
        "unit"
      ],
      "sources" : [
        "Expression.swift",
        "Measurement/Double+Measurement.swift",
        "Measurement/Int+Measurement.swift",
        "Measurement/Measurement.swift",
        "Measurement/Percent+Measurement.swift",
        "Parser.swift",
        "Quantity.swift",
        "Registry.swift",
        "RegistryBuilder.swift",
        "Unit/DefaultUnits.swift",
        "Unit/DefinedUnit.swift",
        "Unit/Equations.swift",
        "Unit/Unit+DefaultUnits.swift",
        "Unit/Unit.swift",
        "UnitError.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PerformanceTests",
      "module_type" : "SwiftTarget",
      "name" : "PerformanceTests",
      "path" : "Tests/PerformanceTests",
      "sources" : [
        "PerformanceTests.swift"
      ],
      "target_dependencies" : [
        "Units"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CLI",
      "module_type" : "SwiftTarget",
      "name" : "CLI",
      "path" : "Sources/CLI",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "unit"
      ],
      "sources" : [
        "Convert.swift",
        "List.swift",
        "Unit.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "Units"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.4"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/needleinajaystack/units/main
Repository:               NeedleInAJayStack/Units
Swift version used:       6.1
Target:                   Units
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
 * branch            4633b45fc732d8c55568be09dd852f9dc1582c25 -> FETCH_HEAD
HEAD is now at 4633b45 Update the artifact
Cloned https://github.com/swiftlang/swift-docc-render-artifact
Extracting symbol information for 'Units'...
Finished extracting symbol information for 'Units'. (3.70s)
Building documentation for 'Units'...
warning: Parameter 'registry' is missing documentation
  --> Sources/Units/Expression.swift:29:58-29:58
27 |     /// - `5m^2/s + (1m + 2m)^2 / 5s`
28 |     ///
29 +     /// - Parameter expr: The string expression to parse.
   |                                                          ╰─suggestion: Document 'registry' parameter
30 |     public init(_ expr: String, registry: Registry = .default) throws {
31 |         let parsed = try Parser(expr, registry: registry).parseExpression()
warning: Parameter 'value' not found in initializer declaration
  --> Sources/Units/Measurement/Percent+Measurement.swift:52:11-52:48
50 |     /// Create a new Percent
51 |     /// - Parameters:
52 +     ///   - value: The magnitude of the percent
   |           ╰─suggestion: Remove 'value' parameter documentation
53 |     public init(
54 |         magnitude: Double
warning: Parameter 'magnitude' is missing documentation
  --> Sources/Units/Measurement/Percent+Measurement.swift:52:48-52:48
50 |     /// Create a new Percent
51 |     /// - Parameters:
52 +     ///   - value: The magnitude of the percent
   |                                                ╰─suggestion: Document 'magnitude' parameter
53 |     public init(
54 |         magnitude: Double
warning: Parameter 'registry' is missing documentation
  --> Sources/Units/Unit/Unit.swift:21:82-21:82
19 |     /// and the relevant unit is initialized.
20 |     /// - Parameter symbol: A string defining the unit to retrieve. This can be the symbol of a defined unit
21 +     /// or a complex unit symbol that combines basic units with `*`, `/`, or `^`.
   |                                                                                  ╰─suggestion: Document 'registry' parameter
22 |     public init(fromSymbol symbol: String, registry: Registry = .default) throws {
23 |         let symbolContainsOperator = OperatorSymbols.allCases.contains { arithSymbol in
warning: Parameter 'symbol' not found in initializer declaration
  --> Sources/Units/Unit/Unit.swift:42:9-42:111
40 |     /// Only defined units are returned - complex unit name equations are not supported.
41 |     ///
42 +     /// - Parameter symbol: A string name of the unit to retrieve. This cannot be a complex equation of names.
   |         ╰─suggestion: Remove 'symbol' parameter documentation
43 |     public init(fromName name: String, registry: Registry = .default) throws {
44 |         let definedUnit = try registry.getUnit(byName: name)
warning: Parameter 'registry' is missing documentation
  --> Sources/Units/Unit/Unit.swift:42:111-42:111
40 |     /// Only defined units are returned - complex unit name equations are not supported.
41 |     ///
42 +     /// - Parameter symbol: A string name of the unit to retrieve. This cannot be a complex equation of names.
   |                                                                                                               ╰─suggestion: Document 'registry' parameter
43 |     public init(fromName name: String, registry: Registry = .default) throws {
44 |         let definedUnit = try registry.getUnit(byName: name)
warning: Parameter 'name' is missing documentation
  --> Sources/Units/Unit/Unit.swift:42:111-42:111
40 |     /// Only defined units are returned - complex unit name equations are not supported.
41 |     ///
42 +     /// - Parameter symbol: A string name of the unit to retrieve. This cannot be a complex equation of names.
   |                                                                                                               ╰─suggestion: Document 'name' parameter
43 |     public init(fromName name: String, registry: Registry = .default) throws {
44 |         let definedUnit = try registry.getUnit(byName: name)
Finished building documentation for 'Units' (0.23s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/needleinajaystack/units/main
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Updating https://github.com/apple/swift-argument-parser
Updated https://github.com/apple/swift-argument-parser (0.52s)
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.66s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.1 (1.17s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.5 (0.61s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.89s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.57s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.5
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[0/7] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/53] Emitting module SymbolKit
[7/57] Compiling SymbolKit Mixin+Equals.swift
[8/57] Compiling SymbolKit Mixin+Hash.swift
[9/57] Compiling SymbolKit Mixin.swift
[10/57] Compiling SymbolKit LineList.swift
[11/57] Compiling SymbolKit Position.swift
[12/57] Compiling SymbolKit Identifier.swift
[13/57] Compiling SymbolKit KindIdentifier.swift
[14/57] Compiling SymbolKit Location.swift
[15/57] Compiling SymbolKit Mutability.swift
[16/57] Compiling SymbolKit Names.swift
[17/57] Compiling SymbolKit SPI.swift
[18/57] Compiling SymbolKit Snippet.swift
[19/57] Compiling SymbolKit Extension.swift
[20/57] Compiling SymbolKit DeclarationFragments.swift
[21/57] Compiling SymbolKit Fragment.swift
[22/57] Compiling SymbolKit FragmentKind.swift
[23/57] Compiling SymbolKit FunctionParameter.swift
[24/57] Compiling SymbolKit FunctionSignature.swift
[25/57] Compiling SymbolKit Relationship.swift
[26/57] Compiling SymbolKit RelationshipKind.swift
[27/57] Compiling SymbolKit SourceOrigin.swift
[28/57] Compiling SymbolKit GenericConstraints.swift
[29/57] Compiling SymbolKit Swift.swift
[30/57] Compiling SymbolKit SemanticVersion.swift
[31/57] Compiling SymbolKit AccessControl.swift
[32/57] Compiling SymbolKit Availability.swift
[33/57] Compiling SymbolKit AvailabilityItem.swift
[34/57] Compiling SymbolKit Domain.swift
[35/57] Compiling SymbolKit SourceRange.swift
[36/57] Compiling SymbolKit Metadata.swift
[37/57] Compiling SymbolKit Module.swift
[38/57] Compiling SymbolKit OperatingSystem.swift
[39/57] Compiling SymbolKit Platform.swift
[40/57] Compiling SymbolKit GenericConstraint.swift
[41/57] Compiling SymbolKit GenericParameter.swift
[42/57] Compiling SymbolKit Generics.swift
[43/57] Compiling SymbolKit Namespace.swift
[44/57] Compiling SymbolKit Symbol.swift
[45/57] Compiling SymbolKit SymbolKind.swift
[46/57] Compiling SymbolKit SymbolGraph.swift
[47/57] Compiling SymbolKit GraphCollector.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Compiling Snippets SnippetParser.swift
[53/57] Emitting module Snippets
[54/57] Compiling Snippets Snippet.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.25s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/16] Compiling Units DefinedUnit.swift
[3/16] Compiling Units Percent+Measurement.swift
[4/16] Compiling Units Parser.swift
[5/16] Compiling Units Unit.swift
[6/16] Compiling Units Equations.swift
[7/16] Compiling Units Unit+DefaultUnits.swift
[8/17] Compiling Units Quantity.swift
[9/17] Compiling Units Registry.swift
[10/17] Compiling Units Int+Measurement.swift
[11/17] Compiling Units Measurement.swift
[12/17] Compiling Units Expression.swift
[13/17] Compiling Units Double+Measurement.swift
[14/17] Compiling Units RegistryBuilder.swift
[15/17] Compiling Units DefaultUnits.swift
[16/17] Emitting module Units
[17/17] Compiling Units UnitError.swift
Build of target: 'Units' complete! (1.74s)
     694
5	/Users/admin/builder/spi-builder-workspace/.docs/needleinajaystack/units/main
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/needleinajaystack/units/main
File count: 694
Doc size:   5.0MB
Preparing doc bundle ...
Uploading prod-needleinajaystack-units-main-cfa372cc.zip to s3://spi-docs-inbox/prod-needleinajaystack-units-main-cfa372cc.zip
Copying... [13%]
Copying... [26%]
Copying... [33%]
Copying... [46%]
Copying... [53%]
Copying... [66%]
Copying... [73%]
Copying... [86%]
Copying... [92%]
Copying... [100%]
Done.