Build Information
Successful build of CachedAsyncImage, reference main (dc730b
), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 02:09:41 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 -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/0xWDG/CachedAsyncImage.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/0xWDG/CachedAsyncImage
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at dc730bb Update README.md
Cloned https://github.com/0xWDG/CachedAsyncImage.git
Revision (git rev-parse @):
dc730bb98ebf87a43a57e18764aad818daf1ad6c
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/0xWDG/CachedAsyncImage.git at main
========================================
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": "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",
"dependencies": [
]
}
]
}
Fetching https://github.com/0xWDG/CachedAsyncImage.git
[1/730] Fetching cachedasyncimage
Fetched https://github.com/0xWDG/CachedAsyncImage.git from cache (0.93s)
Creating working copy for https://github.com/0xWDG/CachedAsyncImage.git
Working copy of https://github.com/0xWDG/CachedAsyncImage.git resolved at main (dc730bb)
warning: '.resolve-product-dependencies': dependency 'cachedasyncimage' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/0xWDG/CachedAsyncImage.git
https://github.com/0xWDG/CachedAsyncImage.git
{
"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"
}
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 -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/3] Write sources
[0/3] Copying PrivacyInfo.xcprivacy
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/6] Compiling CachedAsyncImage resource_bundle_accessor.swift
[5/6] Emitting module CachedAsyncImage
[6/6] Compiling CachedAsyncImage CachedAsyncImage.swift
Build complete! (8.24s)
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/main
Repository: 0xWDG/CachedAsyncImage
Swift version used: 6.1
Target: CachedAsyncImage
Extracting symbol information for 'CachedAsyncImage'...
Finished extracting symbol information for 'CachedAsyncImage'. (4.96s)
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 + /// 
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 + /// 
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.50s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/0xwdg/cachedasyncimage/main
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.47s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (1.16s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.73s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.34s)
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.3
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
[1/8] Write sources
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/53] Emitting module SymbolKit
[7/57] Compiling SymbolKit Identifier.swift
[8/57] Compiling SymbolKit KindIdentifier.swift
[9/57] Compiling SymbolKit Location.swift
[10/57] Compiling SymbolKit Mutability.swift
[11/57] Compiling SymbolKit Mixin+Equals.swift
[12/57] Compiling SymbolKit Mixin+Hash.swift
[13/57] Compiling SymbolKit Mixin.swift
[14/57] Compiling SymbolKit LineList.swift
[15/57] Compiling SymbolKit Position.swift
[16/57] Compiling Snippets SnippetParser.swift
[17/57] Compiling Snippets Snippet.swift
[18/57] Emitting module Snippets
[19/57] Compiling SymbolKit Names.swift
[20/57] Compiling SymbolKit SPI.swift
[21/57] Compiling SymbolKit Snippet.swift
[22/57] Compiling SymbolKit Extension.swift
[23/57] Compiling SymbolKit SemanticVersion.swift
[24/57] Compiling SymbolKit AccessControl.swift
[25/57] Compiling SymbolKit Availability.swift
[26/57] Compiling SymbolKit AvailabilityItem.swift
[27/57] Compiling SymbolKit Domain.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 GenericConstraint.swift
[34/57] Compiling SymbolKit GenericParameter.swift
[35/57] Compiling SymbolKit Generics.swift
[36/57] Compiling SymbolKit Namespace.swift
[37/57] Compiling SymbolKit Symbol.swift
[38/57] Compiling SymbolKit SymbolKind.swift
[39/57] Compiling SymbolKit SymbolGraph.swift
[40/57] Compiling SymbolKit GraphCollector.swift
[41/57] Compiling SymbolKit SourceRange.swift
[42/57] Compiling SymbolKit Metadata.swift
[43/57] Compiling SymbolKit Module.swift
[44/57] Compiling SymbolKit OperatingSystem.swift
[45/57] Compiling SymbolKit Platform.swift
[46/57] Compiling SymbolKit DeclarationFragments.swift
[47/57] Compiling SymbolKit Fragment.swift
[48/57] Compiling SymbolKit FragmentKind.swift
[49/57] Compiling SymbolKit FunctionParameter.swift
[50/57] Compiling SymbolKit FunctionSignature.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] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.93s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/4] Emitting module CachedAsyncImage
[3/4] Compiling CachedAsyncImage resource_bundle_accessor.swift
[4/4] Compiling CachedAsyncImage CachedAsyncImage.swift
Build of target: 'CachedAsyncImage' complete! (0.75s)
1472
11 /Users/admin/builder/spi-builder-workspace/.docs/0xwdg/cachedasyncimage/main
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/0xwdg/cachedasyncimage/main
File count: 1472
Doc size: 11.0MB
Preparing doc bundle ...
Uploading prod-0xwdg-cachedasyncimage-main-19ad0c99.zip to s3://spi-docs-inbox/prod-0xwdg-cachedasyncimage-main-19ad0c99.zip
Copying... [12%]
Copying... [21%]
Copying... [30%]
Copying... [42%]
Copying... [51%]
Copying... [60%]
Copying... [72%]
Copying... [81%]
Copying... [90%]
Copying... [100%]
Done.