The Swift Package Index logo.Swift Package Index

Build Information

Successful build of CachedAsyncImage, reference 0.0.3 (0c8647), with Swift 6.3 for macOS (SPM) on 23 Apr 2026 08:30:23 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/0xWDG/CachedAsyncImage.git
Reference: 0.0.3
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/0xWDG/CachedAsyncImage
 * tag               0.0.3      -> FETCH_HEAD
HEAD is now at 0c8647a Merge pull request #1 from 0xWDG/Swift6
Cloned https://github.com/0xWDG/CachedAsyncImage.git
Revision (git rev-parse @):
0c8647a8b282af53557d42619c48df7b64a08c55
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/0xWDG/CachedAsyncImage.git at 0.0.3
========================================
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": "cachedasyncimage",
      "name": "CachedAsyncImage",
      "url": "https://github.com/0xWDG/CachedAsyncImage.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CachedAsyncImage",
      "traits": [
        "default"
      ],
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/0xWDG/CachedAsyncImage.git
[1/730] Fetching cachedasyncimage
Fetched https://github.com/0xWDG/CachedAsyncImage.git from cache (1.04s)
Creating working copy for https://github.com/0xWDG/CachedAsyncImage.git
Working copy of https://github.com/0xWDG/CachedAsyncImage.git resolved at 0.0.3 (0c8647a)
warning: '.resolve-product-dependencies': dependency 'cachedasyncimage' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/0xWDG/CachedAsyncImage.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/3] Copying PrivacyInfo.xcprivacy
[1/3] Write sources
[2/3] Write swift-version--6988338F2F200930.txt
[4/6] Compiling CachedAsyncImage resource_bundle_accessor.swift
[5/6] Emitting module CachedAsyncImage
[6/6] Compiling CachedAsyncImage CachedAsyncImage.swift
Build complete! (8.44s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "CachedAsyncImage",
  "name" : "CachedAsyncImage",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "CachedAsyncImage",
      "targets" : [
        "CachedAsyncImage"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CachedAsyncImageTests",
      "module_type" : "SwiftTarget",
      "name" : "CachedAsyncImageTests",
      "path" : "Tests/CachedAsyncImageTests",
      "sources" : [
        "CachedAsyncImageTests.swift"
      ],
      "target_dependencies" : [
        "CachedAsyncImage"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CachedAsyncImage",
      "module_type" : "SwiftTarget",
      "name" : "CachedAsyncImage",
      "path" : "Sources/CachedAsyncImage",
      "product_memberships" : [
        "CachedAsyncImage"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/CachedAsyncImage/PrivacyInfo.xcprivacy",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "CachedAsyncImage.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/0xwdg/cachedasyncimage/0.0.3
Repository:               0xWDG/CachedAsyncImage
Swift version used:       6.3
Target:                   CachedAsyncImage
Extracting symbol information for 'CachedAsyncImage'...
Finished extracting symbol information for 'CachedAsyncImage'. (44.58s)
Building documentation for 'CachedAsyncImage'...
warning: No external resolver registered for 'com.apple.documentation'.
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:20:10-20:71
18 | ///
19 | /// This view uses the shared
20 + /// <doc://com.apple.documentation/documentation/Foundation/URLSession>
21 | /// instance to load an image from the specified URL, and then display it.
22 | /// For example, you can display an icon that's stored on a server:
warning: Resource 'AsyncImage-1' couldn't be found
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:32:5-34:59
30 | /// than the frame, and so appears smaller than the placeholder.
31 | ///
32 + /// ![A diagram that shows a grey box on the left, the SwiftUI icon on the
33 + /// right, and an arrow pointing from the first to the second. The icon
34 + /// is about half the size of the grey box.](AsyncImage-1)
35 | ///
36 | /// You can specify a custom placeholder using
warning: 'init(url:scale:content:placeholder:)' doesn't exist at '/CachedAsyncImage/CachedAsyncImage'
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:37:7-37:43
35 | ///
36 | /// You can specify a custom placeholder using
37 + /// ``init(url:scale:content:placeholder:)``. With this initializer, you can
   |       ╰─suggestion: Replace 'init(url:scale:content:placeholder:)' with 'init(url:urlCache:scale:content:placeholder:)'
38 | /// also use the `content` parameter to manipulate the loaded image.
39 | /// For example, you can add a modifier to make the loaded image resizable:
warning: 'ProgressView' doesn't exist at '/CachedAsyncImage/CachedAsyncImage'
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:48:41-48:53
46 | ///     .frame(width: 50, height: 50)
47 | ///
48 + /// For this example, SwiftUI shows a ``ProgressView`` first, and then the
   |                                         ╰─suggestion: Replace 'ProgressView' with 'progressViewStyle(_:)'
49 | /// image scaled to fit in the specified frame:
50 | ///
warning: Resource 'AsyncImage-2' couldn't be found
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:51:5-52:78
49 | /// image scaled to fit in the specified frame:
50 | ///
51 + /// ![A diagram that shows a progress view on the left, the SwiftUI icon on the
52 + /// right, and an arrow pointing from the first to the second.](AsyncImage-2)
53 | ///
54 | /// > Important: You can't apply image-specific modifiers, like
warning: 'Image' doesn't exist at '/CachedAsyncImage/CachedAsyncImage'
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:55:9-55:14
53 | ///
54 | /// > Important: You can't apply image-specific modifiers, like
55 + /// ``Image/resizable(capInsets:resizingMode:)``, directly to an `AsyncImage`.
56 | /// Instead, apply them to the ``Image`` instance that your `content`
57 | /// closure gets when defining the view's appearance.
warning: 'Image' doesn't exist at '/CachedAsyncImage/CachedAsyncImage'
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:56:36-56:41
54 | /// > Important: You can't apply image-specific modifiers, like
55 | /// ``Image/resizable(capInsets:resizingMode:)``, directly to an `AsyncImage`.
56 + /// Instead, apply them to the ``Image`` instance that your `content`
57 | /// closure gets when defining the view's appearance.
58 | ///
warning: 'init(url:scale:transaction:content:)' doesn't exist at '/CachedAsyncImage/CachedAsyncImage'
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:60:7-60:43
58 | ///
59 | /// To gain more control over the loading process, use the
60 + /// ``init(url:scale:transaction:content:)`` initializer, which takes a
   |       ╰─suggestion: Replace 'init(url:scale:transaction:content:)' with 'init(url:urlCache:scale:transaction:content:)'
61 | /// `content` closure that receives an ``AsyncImagePhase`` to indicate
62 | /// the state of the loading operation. Return a view that's appropriate
warning: 'AsyncImagePhase' doesn't exist at '/CachedAsyncImage/CachedAsyncImage'
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:61:42-61:57
59 | /// To gain more control over the loading process, use the
60 | /// ``init(url:scale:transaction:content:)`` initializer, which takes a
61 + /// `content` closure that receives an ``AsyncImagePhase`` to indicate
62 | /// the state of the loading operation. Return a view that's appropriate
63 | /// for the current phase:
warning: 'Image' doesn't exist at '/CachedAsyncImage/CachedAsyncImage/init(url:urlCache:scale:)'
   --> Sources/CachedAsyncImage/CachedAsyncImage.swift:116:30-116:35
114 |     ///
115 |     /// If you want to customize the placeholder or apply image-specific
116 +     /// modifiers --- like ``Image/resizable(capInsets:resizingMode:)`` ---
117 |     /// to the loaded image, use the ``init(url:scale:content:placeholder:)``
118 |     /// initializer instead.
warning: 'init(url:scale:content:placeholder:)' doesn't exist at '/CachedAsyncImage/CachedAsyncImage/init(url:urlCache:scale:)'
   --> Sources/CachedAsyncImage/CachedAsyncImage.swift:117:40-117:76
115 |     /// If you want to customize the placeholder or apply image-specific
116 |     /// modifiers --- like ``Image/resizable(capInsets:resizingMode:)`` ---
117 +     /// to the loaded image, use the ``init(url:scale:content:placeholder:)``
118 |     /// initializer instead.
119 |     ///
warning: 'init(url:scale:transaction:content:)' doesn't exist at '/CachedAsyncImage/CachedAsyncImage/init(url:urlCache:scale:content:placeholder:)'
   --> Sources/CachedAsyncImage/CachedAsyncImage.swift:162:19-162:55
160 |     /// If the load operation fails, SwiftUI continues to display the
161 |     /// placeholder. To be able to display a different view on a load error,
162 +     /// use the ``init(url:scale:transaction:content:)`` initializer instead.
163 |     ///
164 |     /// - Parameters:
warning: 'AsyncImagePhase' doesn't exist at '/CachedAsyncImage/CachedAsyncImage/init(url:urlCache:scale:transaction:content:)'
   --> Sources/CachedAsyncImage/CachedAsyncImage.swift:196:11-196:26
194 |     /// If you set the asynchronous image's URL to `nil`, or after you set the
195 |     /// URL to a value but before the load operation completes, the phase is
196 +     /// ``AsyncImagePhase/empty``. After the operation completes, the phase
197 |     /// becomes either ``AsyncImagePhase/failure(_:)`` or
198 |     /// ``AsyncImagePhase/success(_:)``. In the first case, the phase's
warning: 'AsyncImagePhase' doesn't exist at '/CachedAsyncImage/CachedAsyncImage/init(url:urlCache:scale:transaction:content:)'
   --> Sources/CachedAsyncImage/CachedAsyncImage.swift:197:26-197:41
195 |     /// URL to a value but before the load operation completes, the phase is
196 |     /// ``AsyncImagePhase/empty``. After the operation completes, the phase
197 +     /// becomes either ``AsyncImagePhase/failure(_:)`` or
198 |     /// ``AsyncImagePhase/success(_:)``. In the first case, the phase's
199 |     /// ``AsyncImagePhase/error`` value indicates the reason for failure.
warning: 'AsyncImagePhase' doesn't exist at '/CachedAsyncImage/CachedAsyncImage/init(url:urlCache:scale:transaction:content:)'
   --> Sources/CachedAsyncImage/CachedAsyncImage.swift:198:11-198:26
196 |     /// ``AsyncImagePhase/empty``. After the operation completes, the phase
197 |     /// becomes either ``AsyncImagePhase/failure(_:)`` or
198 +     /// ``AsyncImagePhase/success(_:)``. In the first case, the phase's
199 |     /// ``AsyncImagePhase/error`` value indicates the reason for failure.
200 |     /// In the second case, the phase's ``AsyncImagePhase/image`` property
warning: 'AsyncImagePhase' doesn't exist at '/CachedAsyncImage/CachedAsyncImage/init(url:urlCache:scale:transaction:content:)'
   --> Sources/CachedAsyncImage/CachedAsyncImage.swift:199:11-199:26
197 |     /// becomes either ``AsyncImagePhase/failure(_:)`` or
198 |     /// ``AsyncImagePhase/success(_:)``. In the first case, the phase's
199 +     /// ``AsyncImagePhase/error`` value indicates the reason for failure.
200 |     /// In the second case, the phase's ``AsyncImagePhase/image`` property
201 |     /// contains the loaded image. Use the phase to drive the output of the
warning: 'AsyncImagePhase' doesn't exist at '/CachedAsyncImage/CachedAsyncImage/init(url:urlCache:scale:transaction:content:)'
   --> Sources/CachedAsyncImage/CachedAsyncImage.swift:200:43-200:58
198 |     /// ``AsyncImagePhase/success(_:)``. In the first case, the phase's
199 |     /// ``AsyncImagePhase/error`` value indicates the reason for failure.
200 +     /// In the second case, the phase's ``AsyncImagePhase/image`` property
201 |     /// contains the loaded image. Use the phase to drive the output of the
202 |     /// `content` closure, which defines the view's appearance:
warning: 'AsyncImage' doesn't exist at '/CachedAsyncImage/CachedAsyncImage/init(url:urlCache:scale:transaction:content:)'
   --> Sources/CachedAsyncImage/CachedAsyncImage.swift:215:11-215:21
213 |     ///
214 |     /// To add transitions when you change the URL, apply an identifier to the
215 +     /// ``AsyncImage``.
216 |     ///
217 |     /// - Parameters:
Finished building documentation for 'CachedAsyncImage' (1.49s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/0xwdg/cachedasyncimage/0.0.3
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2277] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.10s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.6 (3.37s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3674] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.31s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.05s)
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
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
Building for debugging...
[0/8] Write sources
[3/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version--6988338F2F200930.txt
[6/53] Emitting module SymbolKit
[7/57] Compiling Snippets SnippetParser.swift
[8/57] Emitting module Snippets
[9/57] Compiling Snippets Snippet.swift
[10/57] Compiling SymbolKit DeclarationFragments.swift
[11/57] Compiling SymbolKit Fragment.swift
[12/57] Compiling SymbolKit FragmentKind.swift
[13/57] Compiling SymbolKit FunctionParameter.swift
[14/57] Compiling SymbolKit FunctionSignature.swift
[15/57] Compiling SymbolKit Mixin+Equals.swift
[16/57] Compiling SymbolKit Mixin+Hash.swift
[17/57] Compiling SymbolKit Mixin.swift
[18/57] Compiling SymbolKit LineList.swift
[19/57] Compiling SymbolKit Position.swift
[20/57] Compiling SymbolKit Names.swift
[21/57] Compiling SymbolKit SPI.swift
[22/57] Compiling SymbolKit Snippet.swift
[23/57] Compiling SymbolKit Extension.swift
[24/57] Compiling SymbolKit GenericConstraint.swift
[25/57] Compiling SymbolKit GenericParameter.swift
[26/57] Compiling SymbolKit Generics.swift
[27/57] Compiling SymbolKit Namespace.swift
[28/57] Compiling SymbolKit Relationship.swift
[29/57] Compiling SymbolKit RelationshipKind.swift
[30/57] Compiling SymbolKit SourceOrigin.swift
[31/57] Compiling SymbolKit GenericConstraints.swift
[32/57] Compiling SymbolKit Swift.swift
[33/57] Compiling SymbolKit SourceRange.swift
[34/57] Compiling SymbolKit Metadata.swift
[35/57] Compiling SymbolKit Module.swift
[36/57] Compiling SymbolKit OperatingSystem.swift
[37/57] Compiling SymbolKit Platform.swift
[38/57] Compiling SymbolKit Identifier.swift
[39/57] Compiling SymbolKit KindIdentifier.swift
[40/57] Compiling SymbolKit Location.swift
[41/57] Compiling SymbolKit Mutability.swift
[42/57] Compiling SymbolKit Symbol.swift
[43/57] Compiling SymbolKit SymbolKind.swift
[44/57] Compiling SymbolKit SymbolGraph.swift
[45/57] Compiling SymbolKit GraphCollector.swift
[46/57] Compiling SymbolKit SemanticVersion.swift
[47/57] Compiling SymbolKit AccessControl.swift
[48/57] Compiling SymbolKit Availability.swift
[49/57] Compiling SymbolKit AvailabilityItem.swift
[50/57] Compiling SymbolKit Domain.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.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.89s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'CachedAsyncImage' complete! (0.20s)
    1704
13	/Users/admin/builder/spi-builder-workspace/.docs/0xwdg/cachedasyncimage/0.0.3
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/0xwdg/cachedasyncimage/0.0.3
File count: 1704
Doc size:   13.0MB
Preparing doc bundle ...
Uploading prod-0xwdg-cachedasyncimage-0.0.3-d4307140.zip to s3://spi-docs-inbox/prod-0xwdg-cachedasyncimage-0.0.3-d4307140.zip
Copying... [10%]
Copying... [21%]
Copying... [31%]
Copying... [42%]
Copying... [52%]
Copying... [63%]
Copying... [70%]
Copying... [81%]
Copying... [91%]
Copying... [100%]
Done.