Build Information
Successful build of LottieUI, reference v1.3.3 (dd5b2f
), with Swift 6.0 for macOS (SPM) on 29 Nov 2024 08:43:26 UTC.
Swift 6 data race errors: 2
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.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.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tfmart/LottieUI.git
Reference: v1.3.3
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/tfmart/LottieUI
* tag v1.3.3 -> FETCH_HEAD
HEAD is now at dd5b2f1 Added code example to warning
Cloned https://github.com/tfmart/LottieUI.git
Revision (git rev-parse @):
dd5b2f16213f89ab996a55fc2f51b56236da4bbe
SUCCESS checkout https://github.com/tfmart/LottieUI.git at v1.3.3
Fetching https://github.com/airbnb/lottie-spm.git
[1/574] Fetching lottie-spm
Fetched https://github.com/airbnb/lottie-spm.git from cache (3.71s)
Computing version for https://github.com/airbnb/lottie-spm.git
Computed https://github.com/airbnb/lottie-spm.git at 4.5.0 (0.54s)
Creating working copy for https://github.com/airbnb/lottie-spm.git
Working copy of https://github.com/airbnb/lottie-spm.git resolved at 4.5.0
[19274/55918811] Downloading https://github.com/airbnb/lottie-ios/releases/download/4.5.0/Lottie.xcframework.zip
Downloading binary artifact https://github.com/airbnb/lottie-ios/releases/download/4.5.0/Lottie.xcframework.zip
Downloaded https://github.com/airbnb/lottie-ios/releases/download/4.5.0/Lottie.xcframework.zip (3.90s)
========================================
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": "lottieui",
"name": "LottieUI",
"url": "https://github.com/tfmart/LottieUI.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/LottieUI",
"dependencies": [
{
"identity": "lottie-spm",
"name": "Lottie",
"url": "https://github.com/airbnb/lottie-spm.git",
"version": "4.5.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/lottie-spm",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/tfmart/LottieUI.git
[9/414] Fetching lottieui
Fetched https://github.com/tfmart/LottieUI.git from cache (1.71s)
Fetching https://github.com/airbnb/lottie-spm.git from cache
Fetched https://github.com/airbnb/lottie-spm.git from cache (0.48s)
Computing version for https://github.com/airbnb/lottie-spm.git
Computed https://github.com/airbnb/lottie-spm.git at 4.5.0 (0.02s)
Creating working copy for https://github.com/airbnb/lottie-spm.git
Working copy of https://github.com/airbnb/lottie-spm.git resolved at 4.5.0
Creating working copy for https://github.com/tfmart/LottieUI.git
Working copy of https://github.com/tfmart/LottieUI.git resolved at v1.3.3 (dd5b2f1)
Fetching binary artifact https://github.com/airbnb/lottie-ios/releases/download/4.5.0/Lottie.xcframework.zip from cache
Fetched https://github.com/airbnb/lottie-ios/releases/download/4.5.0/Lottie.xcframework.zip from cache (2.69s)
warning: '.resolve-product-dependencies': dependency 'lottieui' is not used by any target
Found 1 product dependencies
- Lottie
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/tfmart/LottieUI.git
{
"dependencies" : [
{
"identity" : "lottie-spm",
"requirement" : {
"range" : [
{
"lower_bound" : "4.1.2",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/airbnb/lottie-spm.git"
}
],
"manifest_display_name" : "LottieUI",
"name" : "LottieUI",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "LottieUI",
"targets" : [
"LottieUI"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "LottieUITests",
"module_type" : "SwiftTarget",
"name" : "LottieUITests",
"path" : "Tests/LottieUITests",
"sources" : [
"LottieUITests.swift"
],
"target_dependencies" : [
"LottieUI"
],
"type" : "test"
},
{
"c99name" : "LottieUI",
"module_type" : "SwiftTarget",
"name" : "LottieUI",
"path" : "Sources/LottieUI",
"product_dependencies" : [
"Lottie"
],
"product_memberships" : [
"LottieUI"
],
"sources" : [
"AsyncLottieView/AsyncLottiePhase.swift",
"AsyncLottieView/AsyncLottieView.swift",
"LottieConfiguration.swift",
"LottieContentSource.swift",
"LottieView/LottieView+iOS.swift",
"LottieView/LottieView+macOS.swift",
"LottieView/LottieView.swift",
"iOS/AnimationProgressObserver.swift",
"iOS/WrappedAnimationView+iOS.swift",
"macOS/AnimationProgressObserver+macOS.swift",
"macOS/WrappedAnimationNSView.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.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/4] Write sources
[2/4] Copying Lottie.framework
[3/4] Write swift-version--7754E27361AE5C74.txt
[5/6] Emitting module _LottieStub
[6/6] Compiling _LottieStub Stub.swift
[7/17] Compiling LottieUI AnimationProgressObserver+macOS.swift
/Users/admin/builder/spi-builder-workspace/Sources/LottieUI/macOS/AnimationProgressObserver+macOS.swift:55:39: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
53 | private func tick() {
54 | DispatchQueue.main.async {
55 | guard let animationView = self.animationView else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
56 | let progress = animationView.realtimeAnimationProgress
57 | let frame = animationView.realtimeAnimationFrame
[8/17] Compiling LottieUI WrappedAnimationView+iOS.swift
[9/18] Compiling LottieUI AnimationProgressObserver.swift
[10/18] Compiling LottieUI LottieView+macOS.swift
[11/18] Compiling LottieUI LottieView+iOS.swift
[12/18] Compiling LottieUI LottieConfiguration.swift
[13/18] Compiling LottieUI LottieView.swift
[14/18] Compiling LottieUI LottieContentSource.swift
[15/18] Compiling LottieUI AsyncLottiePhase.swift
[16/18] Compiling LottieUI AsyncLottieView.swift
[17/18] Emitting module LottieUI
/Users/admin/builder/spi-builder-workspace/Sources/LottieUI/macOS/WrappedAnimationNSView.swift:13:9: warning: main actor-isolated property 'animationView' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
10 | import Lottie
11 |
12 | public class WrappedAnimationNSView: NSView, WrappedAnimationProtocol {
| `- note: add '@preconcurrency' to the 'WrappedAnimationProtocol' conformance to defer isolation checking to run time
13 | var animationView: LottieAnimationView!
| `- warning: main actor-isolated property 'animationView' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
14 | var observer: AnimationProgressObserver
15 |
/Users/admin/builder/spi-builder-workspace/Sources/LottieUI/iOS/WrappedAnimationView+iOS.swift:12:9: note: 'animationView' declared here
10 |
11 | protocol WrappedAnimationProtocol {
12 | var animationView: LottieAnimationView! { get set }
| `- note: 'animationView' declared here
13 |
14 | func update(withEngine renderingEngine: RenderingEngineOption)
/Users/admin/builder/spi-builder-workspace/Sources/LottieUI/macOS/WrappedAnimationNSView.swift:47:19: warning: main actor-isolated instance method 'update(withEngine:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
45 | }
46 |
47 | internal func update(withEngine renderingEngine: RenderingEngineOption) {
| |- warning: main actor-isolated instance method 'update(withEngine:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'update(withEngine:)' to make this instance method not isolated to the actor
48 | let animation = animationView.animation
49 | let imageProvider = animationView.imageProvider
/Users/admin/builder/spi-builder-workspace/Sources/LottieUI/iOS/WrappedAnimationView+iOS.swift:14:10: note: mark the protocol requirement 'update(withEngine:)' 'async' to allow actor-isolated conformances
12 | var animationView: LottieAnimationView! { get set }
13 |
14 | func update(withEngine renderingEngine: RenderingEngineOption)
| `- note: mark the protocol requirement 'update(withEngine:)' 'async' to allow actor-isolated conformances
15 | }
16 |
[18/18] Compiling LottieUI WrappedAnimationNSView.swift
/Users/admin/builder/spi-builder-workspace/Sources/LottieUI/macOS/WrappedAnimationNSView.swift:13:9: warning: main actor-isolated property 'animationView' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
10 | import Lottie
11 |
12 | public class WrappedAnimationNSView: NSView, WrappedAnimationProtocol {
| `- note: add '@preconcurrency' to the 'WrappedAnimationProtocol' conformance to defer isolation checking to run time
13 | var animationView: LottieAnimationView!
| `- warning: main actor-isolated property 'animationView' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
14 | var observer: AnimationProgressObserver
15 |
/Users/admin/builder/spi-builder-workspace/Sources/LottieUI/iOS/WrappedAnimationView+iOS.swift:12:9: note: 'animationView' declared here
10 |
11 | protocol WrappedAnimationProtocol {
12 | var animationView: LottieAnimationView! { get set }
| `- note: 'animationView' declared here
13 |
14 | func update(withEngine renderingEngine: RenderingEngineOption)
/Users/admin/builder/spi-builder-workspace/Sources/LottieUI/macOS/WrappedAnimationNSView.swift:47:19: warning: main actor-isolated instance method 'update(withEngine:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
45 | }
46 |
47 | internal func update(withEngine renderingEngine: RenderingEngineOption) {
| |- warning: main actor-isolated instance method 'update(withEngine:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'update(withEngine:)' to make this instance method not isolated to the actor
48 | let animation = animationView.animation
49 | let imageProvider = animationView.imageProvider
/Users/admin/builder/spi-builder-workspace/Sources/LottieUI/iOS/WrappedAnimationView+iOS.swift:14:10: note: mark the protocol requirement 'update(withEngine:)' 'async' to allow actor-isolated conformances
12 | var animationView: LottieAnimationView! { get set }
13 |
14 | func update(withEngine renderingEngine: RenderingEngineOption)
| `- note: mark the protocol requirement 'update(withEngine:)' 'async' to allow actor-isolated conformances
15 | }
16 |
Build complete! (18.27s)
Build complete.
{
"dependencies" : [
{
"identity" : "lottie-spm",
"requirement" : {
"range" : [
{
"lower_bound" : "4.1.2",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/airbnb/lottie-spm.git"
}
],
"manifest_display_name" : "LottieUI",
"name" : "LottieUI",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "LottieUI",
"targets" : [
"LottieUI"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "LottieUITests",
"module_type" : "SwiftTarget",
"name" : "LottieUITests",
"path" : "Tests/LottieUITests",
"sources" : [
"LottieUITests.swift"
],
"target_dependencies" : [
"LottieUI"
],
"type" : "test"
},
{
"c99name" : "LottieUI",
"module_type" : "SwiftTarget",
"name" : "LottieUI",
"path" : "Sources/LottieUI",
"product_dependencies" : [
"Lottie"
],
"product_memberships" : [
"LottieUI"
],
"sources" : [
"AsyncLottieView/AsyncLottiePhase.swift",
"AsyncLottieView/AsyncLottieView.swift",
"LottieConfiguration.swift",
"LottieContentSource.swift",
"LottieView/LottieView+iOS.swift",
"LottieView/LottieView+macOS.swift",
"LottieView/LottieView.swift",
"iOS/AnimationProgressObserver.swift",
"iOS/WrappedAnimationView+iOS.swift",
"macOS/AnimationProgressObserver+macOS.swift",
"macOS/WrappedAnimationNSView.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.