The Swift Package Index logo.Swift Package Index

Build Information

Successful build of CachedAsyncImage, reference 0.0.4 (ad3fd9), with Swift 6.3 for macOS (SPM) on 5 Jul 2026 22:27:34 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: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/0xWDG/CachedAsyncImage.git
Reference: 0.0.4
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/0xWDG/CachedAsyncImage
 * tag               0.0.4      -> FETCH_HEAD
HEAD is now at ad3fd91 Add iOS 15+ and macOS 12+ support
Cloned https://github.com/0xWDG/CachedAsyncImage.git
Revision (git rev-parse @):
ad3fd91bb07d08c2236f949f8969c107fa153e66
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/0xWDG/CachedAsyncImage.git at 0.0.4
========================================
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/844] Fetching cachedasyncimage
Fetched https://github.com/0xWDG/CachedAsyncImage.git from cache (0.92s)
Creating working copy for https://github.com/0xWDG/CachedAsyncImage.git
Working copy of https://github.com/0xWDG/CachedAsyncImage.git resolved at 0.0.4 (ad3fd91)
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] Write sources
[0/3] Copying PrivacyInfo.xcprivacy
[2/3] Write swift-version--6988338F2F200930.txt
[4/7] Compiling CachedAsyncImage resource_bundle_accessor.swift
[5/7] Emitting module CachedAsyncImage
[6/7] Compiling CachedAsyncImage CachedAsyncImageLoader.swift
[7/7] Compiling CachedAsyncImage CachedAsyncImage.swift
Build complete! (8.40s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "CachedAsyncImage",
  "name" : "CachedAsyncImage",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "8.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",
        "CachedAsyncImageLoader.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/0xwdg/cachedasyncimage/0.0.4
Repository:               0xWDG/CachedAsyncImage
Swift version used:       6.3
Target:                   CachedAsyncImage
Extracting symbol information for 'CachedAsyncImage'...
Finished extracting symbol information for 'CachedAsyncImage'. (43.79s)
Building documentation for 'CachedAsyncImage'...
warning: No external resolver registered for 'com.apple.documentation'.
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:19:10-19:71
17 | ///
18 | /// This view uses the shared
19 + /// <doc://com.apple.documentation/documentation/Foundation/URLSession>
20 | /// instance to load an image from the specified URL, and then display it.
21 | /// 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:31:5-33:59
29 | /// than the frame, and so appears smaller than the placeholder.
30 | ///
31 + /// ![A diagram that shows a grey box on the left, the SwiftUI icon on the
32 + /// right, and an arrow pointing from the first to the second. The icon
33 + /// is about half the size of the grey box.](AsyncImage-1)
34 | ///
35 | /// You can specify a custom placeholder using
warning: 'init(url:scale:content:placeholder:)' doesn't exist at '/CachedAsyncImage/CachedAsyncImage'
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:36:7-36:43
34 | ///
35 | /// You can specify a custom placeholder using
36 + /// ``init(url:scale:content:placeholder:)``. With this initializer, you can
   |       ╰─suggestion: Replace 'init(url:scale:content:placeholder:)' with 'init(url:urlCache:scale:content:placeholder:)'
37 | /// also use the `content` parameter to manipulate the loaded image.
38 | /// 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:47:41-47:53
45 | ///     .frame(width: 50, height: 50)
46 | ///
47 + /// For this example, SwiftUI shows a ``ProgressView`` first, and then the
   |                                         ╰─suggestion: Replace 'ProgressView' with 'progressViewStyle(_:)'
48 | /// image scaled to fit in the specified frame:
49 | ///
warning: Resource 'AsyncImage-2' couldn't be found
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:50:5-51:78
48 | /// image scaled to fit in the specified frame:
49 | ///
50 + /// ![A diagram that shows a progress view on the left, the SwiftUI icon on the
51 + /// right, and an arrow pointing from the first to the second.](AsyncImage-2)
52 | ///
53 | /// > Important: You can't apply image-specific modifiers, like
warning: 'Image' doesn't exist at '/CachedAsyncImage/CachedAsyncImage'
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:54:9-54:14
52 | ///
53 | /// > Important: You can't apply image-specific modifiers, like
54 + /// ``Image/resizable(capInsets:resizingMode:)``, directly to an `AsyncImage`.
55 | /// Instead, apply them to the ``Image`` instance that your `content`
56 | /// closure gets when defining the view's appearance.
warning: 'Image' doesn't exist at '/CachedAsyncImage/CachedAsyncImage'
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:55:36-55:41
53 | /// > Important: You can't apply image-specific modifiers, like
54 | /// ``Image/resizable(capInsets:resizingMode:)``, directly to an `AsyncImage`.
55 + /// Instead, apply them to the ``Image`` instance that your `content`
56 | /// closure gets when defining the view's appearance.
57 | ///
warning: 'init(url:scale:transaction:content:)' doesn't exist at '/CachedAsyncImage/CachedAsyncImage'
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:59:7-59:43
57 | ///
58 | /// To gain more control over the loading process, use the
59 + /// ``init(url:scale:transaction:content:)`` initializer, which takes a
   |       ╰─suggestion: Replace 'init(url:scale:transaction:content:)' with 'init(url:urlCache:scale:transaction:content:)'
60 | /// `content` closure that receives an ``AsyncImagePhase`` to indicate
61 | /// the state of the loading operation. Return a view that's appropriate
warning: 'AsyncImagePhase' doesn't exist at '/CachedAsyncImage/CachedAsyncImage'
  --> Sources/CachedAsyncImage/CachedAsyncImage.swift:60:42-60:57
58 | /// To gain more control over the loading process, use the
59 | /// ``init(url:scale:transaction:content:)`` initializer, which takes a
60 + /// `content` closure that receives an ``AsyncImagePhase`` to indicate
61 | /// the state of the loading operation. Return a view that's appropriate
62 | /// for the current phase:
warning: 'Image' doesn't exist at '/CachedAsyncImage/CachedAsyncImage/init(url:urlCache:scale:)'
   --> Sources/CachedAsyncImage/CachedAsyncImage.swift:110:30-110:35
108 |     ///
109 |     /// If you want to customize the placeholder or apply image-specific
110 +     /// modifiers --- like ``Image/resizable(capInsets:resizingMode:)`` ---
111 |     /// to the loaded image, use the ``init(url:scale:content:placeholder:)``
112 |     /// initializer instead.
warning: 'init(url:scale:content:placeholder:)' doesn't exist at '/CachedAsyncImage/CachedAsyncImage/init(url:urlCache:scale:)'
   --> Sources/CachedAsyncImage/CachedAsyncImage.swift:111:40-111:76
109 |     /// If you want to customize the placeholder or apply image-specific
110 |     /// modifiers --- like ``Image/resizable(capInsets:resizingMode:)`` ---
111 +     /// to the loaded image, use the ``init(url:scale:content:placeholder:)``
112 |     /// initializer instead.
113 |     ///
warning: 'init(url:scale:transaction:content:)' doesn't exist at '/CachedAsyncImage/CachedAsyncImage/init(url:urlCache:scale:content:placeholder:)'
   --> Sources/CachedAsyncImage/CachedAsyncImage.swift:156:19-156:55
154 |     /// If the load operation fails, SwiftUI continues to display the
155 |     /// placeholder. To be able to display a different view on a load error,
156 +     /// use the ``init(url:scale:transaction:content:)`` initializer instead.
157 |     ///
158 |     /// - Parameters:
warning: 'AsyncImagePhase' doesn't exist at '/CachedAsyncImage/CachedAsyncImage/init(url:urlCache:scale:transaction:content:)'
   --> Sources/CachedAsyncImage/CachedAsyncImage.swift:190:11-190:26
188 |     /// If you set the asynchronous image's URL to `nil`, or after you set the
189 |     /// URL to a value but before the load operation completes, the phase is
190 +     /// ``AsyncImagePhase/empty``. After the operation completes, the phase
191 |     /// becomes either ``AsyncImagePhase/failure(_:)`` or
192 |     /// ``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:191:26-191:41
189 |     /// URL to a value but before the load operation completes, the phase is
190 |     /// ``AsyncImagePhase/empty``. After the operation completes, the phase
191 +     /// becomes either ``AsyncImagePhase/failure(_:)`` or
192 |     /// ``AsyncImagePhase/success(_:)``. In the first case, the phase's
193 |     /// ``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:192:11-192:26
190 |     /// ``AsyncImagePhase/empty``. After the operation completes, the phase
191 |     /// becomes either ``AsyncImagePhase/failure(_:)`` or
192 +     /// ``AsyncImagePhase/success(_:)``. In the first case, the phase's
193 |     /// ``AsyncImagePhase/error`` value indicates the reason for failure.
194 |     /// 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:193:11-193:26
191 |     /// becomes either ``AsyncImagePhase/failure(_:)`` or
192 |     /// ``AsyncImagePhase/success(_:)``. In the first case, the phase's
193 +     /// ``AsyncImagePhase/error`` value indicates the reason for failure.
194 |     /// In the second case, the phase's ``AsyncImagePhase/image`` property
195 |     /// 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:194:43-194:58
192 |     /// ``AsyncImagePhase/success(_:)``. In the first case, the phase's
193 |     /// ``AsyncImagePhase/error`` value indicates the reason for failure.
194 +     /// In the second case, the phase's ``AsyncImagePhase/image`` property
195 |     /// contains the loaded image. Use the phase to drive the output of the
196 |     /// `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:209:11-209:21
207 |     ///
208 |     /// To add transitions when you change the URL, apply an identifier to the
209 +     /// ``AsyncImage``.
210 |     ///
211 |     /// - Parameters:
Finished building documentation for 'CachedAsyncImage' (1.61s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/0xwdg/cachedasyncimage/0.0.4
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2325] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.35s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (3.57s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3749] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.16s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.88s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
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 sources
[1/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version--6988338F2F200930.txt
[6/54] Emitting module SymbolKit
[7/58] Compiling SymbolKit GenericConstraint.swift
[8/58] Compiling SymbolKit GenericParameter.swift
[9/58] Compiling SymbolKit Generics.swift
[10/58] Compiling SymbolKit Namespace.swift
[11/58] Compiling SymbolKit Identifier.swift
[12/58] Compiling SymbolKit KindIdentifier.swift
[13/58] Compiling SymbolKit Location.swift
[14/58] Compiling SymbolKit Mutability.swift
[15/58] Compiling SymbolKit SourceRange.swift
[16/58] Compiling SymbolKit Metadata.swift
[17/58] Compiling SymbolKit Module.swift
[18/58] Compiling SymbolKit OperatingSystem.swift
[19/58] Compiling SymbolKit Platform.swift
[20/58] Compiling SymbolKit DeclarationFragments.swift
[21/58] Compiling SymbolKit Fragment.swift
[22/58] Compiling SymbolKit FragmentKind.swift
[23/58] Compiling SymbolKit FunctionParameter.swift
[24/58] Compiling SymbolKit FunctionSignature.swift
[25/58] Compiling SymbolKit SemanticVersion.swift
[26/58] Compiling SymbolKit AccessControl.swift
[27/58] Compiling SymbolKit Availability.swift
[28/58] Compiling SymbolKit AvailabilityItem.swift
[29/58] Compiling SymbolKit Domain.swift
[30/58] Compiling Snippets Snippet.swift
[31/58] Compiling Snippets SnippetParser.swift
[32/58] Compiling Snippets SnippetLanguage.swift
[33/58] Emitting module Snippets
[34/58] Compiling SymbolKit Names.swift
[35/58] Compiling SymbolKit SPI.swift
[36/58] Compiling SymbolKit Snippet.swift
[37/58] Compiling SymbolKit Extension.swift
[38/58] Compiling SymbolKit Mixin+Equals.swift
[39/58] Compiling SymbolKit Mixin+Hash.swift
[40/58] Compiling SymbolKit Mixin.swift
[41/58] Compiling SymbolKit LineList.swift
[42/58] Compiling SymbolKit Position.swift
[43/58] Compiling SymbolKit Symbol.swift
[44/58] Compiling SymbolKit SymbolKind.swift
[45/58] Compiling SymbolKit SymbolGraph.swift
[46/58] Compiling SymbolKit GraphCollector.swift
[47/58] Compiling SymbolKit Relationship.swift
[48/58] Compiling SymbolKit RelationshipKind.swift
[49/58] Compiling SymbolKit SourceOrigin.swift
[50/58] Compiling SymbolKit GenericConstraints.swift
[51/58] Compiling SymbolKit Swift.swift
[52/58] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[53/58] Compiling SymbolKit UnifiedSymbol.swift
[54/58] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[55/58] Compiling SymbolKit UnifiedSymbolGraph.swift
[56/62] Compiling snippet_extract URL+Status.swift
[57/62] Compiling snippet_extract SymbolGraph+Snippet.swift
[58/62] Emitting module snippet_extract
[59/62] Compiling snippet_extract SnippetBuildCommand.swift
[59/62] Write Objects.LinkFileList
[60/62] Linking snippet-extract-tool
[61/62] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.48s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'CachedAsyncImage' complete! (0.18s)
    1704
13	/Users/admin/builder/spi-builder-workspace/.docs/0xwdg/cachedasyncimage/0.0.4
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/0xwdg/cachedasyncimage/0.0.4
WARNING: environment variable DOCS_MAX_SIZE_MB is not set
WARNING: environment variable DOCS_MAX_SIZE_MB_DEFAULT is not set
Directory size must not exceed 10.0 MB (was: 13.0 MB)
Error while generating docs: Documentation archive too large
✅  Doc result (failed) reported
Done.