The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Units, reference v1.1.0 (78ffb0), with Swift 6.3 for macOS (SPM) on 17 Apr 2026 00:54:33 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NeedleInAJayStack/Units.git
Reference: v1.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/NeedleInAJayStack/Units
 * tag               v1.1.0     -> FETCH_HEAD
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 v1.1.0
Fetching https://github.com/apple/swift-argument-parser
[1/17523] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (1.69s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.1 (2.33s)
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",
  "traits": [
    "default"
  ],
  "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",
      "traits": [
        "default"
      ],
      "dependencies": [
        {
          "identity": "swift-argument-parser",
          "name": "swift-argument-parser",
          "url": "https://github.com/apple/swift-argument-parser",
          "version": "1.7.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-argument-parser",
          "traits": [
            "default"
          ],
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/NeedleInAJayStack/Units.git
[1/1190] Fetching units
Fetched https://github.com/NeedleInAJayStack/Units.git from cache (0.75s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetched https://github.com/apple/swift-argument-parser from cache (0.55s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.7.1 (1.14s)
Creating working copy for https://github.com/NeedleInAJayStack/Units.git
Working copy of https://github.com/NeedleInAJayStack/Units.git resolved at v1.1.0 (78ffb04)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.7.1
Found 1 product dependencies
  - swift-argument-parser
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/NeedleInAJayStack/Units.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/10] Write sources
[3/10] Write unit-entitlement.plist
[3/10] Write sources
[6/10] Write swift-version--6988338F2F200930.txt
[8/27] Emitting module ArgumentParserToolInfo
[9/27] Compiling ArgumentParserToolInfo ToolInfo.swift
[10/66] Compiling ArgumentParser NameSpecification.swift
[11/66] Compiling ArgumentParser Option.swift
[12/66] Compiling ArgumentParser OptionGroup.swift
[13/66] Compiling ArgumentParser AsyncParsableCommand.swift
[14/70] Emitting module ArgumentParser
[15/70] Compiling ArgumentParser BashCompletionsGenerator.swift
[16/70] Compiling ArgumentParser CompletionsGenerator.swift
[17/70] Compiling ArgumentParser FishCompletionsGenerator.swift
[18/70] Compiling ArgumentParser ZshCompletionsGenerator.swift
[19/70] Compiling ArgumentParser Argument.swift
[22/70] Compiling Units Equations.swift
[25/70] Emitting module Units
[30/70] Compiling Units Unit.swift
[32/70] Compiling ArgumentParser HelpGenerator.swift
[33/70] Compiling Units Unit+DefaultUnits.swift
[34/70] Compiling Units DefinedUnit.swift
[35/71] Compiling ArgumentParser Platform.swift
[36/71] Compiling ArgumentParser SequenceExtensions.swift
[37/71] Compiling ArgumentParser StringExtensions.swift
[38/71] Compiling ArgumentParser Tree.swift
[39/71] Compiling Units UnitError.swift
[40/71] Compiling ArgumentParser ParsableArguments.swift
[41/71] Compiling ArgumentParser ParsableArgumentsValidation.swift
[42/71] Compiling ArgumentParser ParsableCommand.swift
[43/71] Compiling ArgumentParser ArgumentDecoder.swift
[44/71] Compiling ArgumentParser CommandConfiguration.swift
[45/71] Compiling ArgumentParser CommandGroup.swift
[46/71] Compiling ArgumentParser EnumerableFlag.swift
[47/71] Compiling ArgumentParser ExpressibleByArgument.swift
[48/71] Compiling ArgumentParser ParserError.swift
[49/71] Compiling ArgumentParser SplitArguments.swift
[50/71] Compiling ArgumentParser DumpHelpGenerator.swift
[51/71] Compiling ArgumentParser HelpCommand.swift
[52/71] Compiling ArgumentParser ArgumentDefinition.swift
[53/71] Compiling ArgumentParser ArgumentSet.swift
[54/71] Compiling ArgumentParser CommandParser.swift
[55/71] Compiling ArgumentParser InputKey.swift
[56/71] Compiling ArgumentParser InputOrigin.swift
[57/71] Compiling ArgumentParser Name.swift
[58/71] Compiling ArgumentParser Parsed.swift
[59/71] Compiling ArgumentParser ParsedValues.swift
[60/71] Compiling ArgumentParser ArgumentHelp.swift
[61/71] Compiling ArgumentParser ArgumentVisibility.swift
[62/71] Compiling ArgumentParser CompletionKind.swift
[63/71] Compiling ArgumentParser Errors.swift
[64/71] Compiling ArgumentParser Flag.swift
[66/71] Compiling ArgumentParser MessageInfo.swift
[67/71] Compiling ArgumentParser UsageGenerator.swift
[68/71] Compiling ArgumentParser CollectionExtensions.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! (9.19s)
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/v1.1.0
Repository:               NeedleInAJayStack/Units
Swift version used:       6.3
Target:                   Units
Extracting symbol information for 'Units'...
Finished extracting symbol information for 'Units'. (28.25s)
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 '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)
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)
Finished building documentation for 'Units' (0.50s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/needleinajaystack/units/v1.1.0
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2277] Fetching swift-docc-plugin
Updating https://github.com/apple/swift-argument-parser
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.07s)
Updated https://github.com/apple/swift-argument-parser (0.56s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.1 (2.36s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.6 (0.81s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3672] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.17s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.96s)
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.6
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/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version--6988338F2F200930.txt
[6/53] Emitting module SymbolKit
[7/53] Compiling SymbolKit SemanticVersion.swift
[8/53] Compiling SymbolKit AccessControl.swift
[9/53] Compiling SymbolKit Availability.swift
[10/53] Compiling SymbolKit AvailabilityItem.swift
[11/53] Compiling SymbolKit Domain.swift
[12/57] Compiling SymbolKit Mixin+Equals.swift
[13/57] Compiling SymbolKit Mixin+Hash.swift
[14/57] Compiling SymbolKit Mixin.swift
[15/57] Compiling SymbolKit LineList.swift
[16/57] Compiling SymbolKit Position.swift
[17/57] Compiling SymbolKit Identifier.swift
[18/57] Compiling SymbolKit KindIdentifier.swift
[19/57] Compiling SymbolKit Location.swift
[20/57] Compiling SymbolKit Mutability.swift
[21/57] Compiling SymbolKit Names.swift
[22/57] Compiling SymbolKit SPI.swift
[23/57] Compiling SymbolKit Snippet.swift
[24/57] Compiling SymbolKit Extension.swift
[25/57] Compiling SymbolKit SourceRange.swift
[26/57] Compiling SymbolKit Metadata.swift
[27/57] Compiling SymbolKit Module.swift
[28/57] Compiling SymbolKit OperatingSystem.swift
[29/57] Compiling SymbolKit Platform.swift
[30/57] Compiling SymbolKit GenericConstraint.swift
[31/57] Compiling SymbolKit GenericParameter.swift
[32/57] Compiling SymbolKit Generics.swift
[33/57] Compiling SymbolKit Namespace.swift
[34/57] Compiling SymbolKit DeclarationFragments.swift
[35/57] Compiling SymbolKit Fragment.swift
[36/57] Compiling SymbolKit FragmentKind.swift
[37/57] Compiling SymbolKit FunctionParameter.swift
[38/57] Compiling SymbolKit FunctionSignature.swift
[39/57] Compiling SymbolKit Relationship.swift
[40/57] Compiling SymbolKit RelationshipKind.swift
[41/57] Compiling SymbolKit SourceOrigin.swift
[42/57] Compiling SymbolKit GenericConstraints.swift
[43/57] Compiling SymbolKit Swift.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] Emitting module Snippets
[53/57] Compiling Snippets Snippet.swift
[54/57] Compiling Snippets SnippetParser.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Emitting module snippet_extract
[57/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[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! (3.49s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'Units' complete! (0.26s)
     696
5	/Users/admin/builder/spi-builder-workspace/.docs/needleinajaystack/units/v1.1.0
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/needleinajaystack/units/v1.1.0
File count: 696
Doc size:   5.0MB
Preparing doc bundle ...
Uploading prod-needleinajaystack-units-v1.1.0-3dba1864.zip to s3://spi-docs-inbox/prod-needleinajaystack-units-v1.1.0-3dba1864.zip
Copying... [13%]
Copying... [26%]
Copying... [32%]
Copying... [45%]
Copying... [51%]
Copying... [64%]
Copying... [71%]
Copying... [83%]
Copying... [96%]
Copying... [100%]
Done.