Build Information
Successful build of Popover, reference 1.1.1 (f1f683
), with Swift 6.0 for macOS (SPM) on 28 Nov 2024 04:37:15 UTC.
Swift 6 data race errors: 0
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.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/iSapozhnik/Popover.git
Reference: 1.1.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/iSapozhnik/Popover
* tag 1.1.1 -> FETCH_HEAD
HEAD is now at f1f6838 Version Increased
Cloned https://github.com/iSapozhnik/Popover.git
Revision (git rev-parse @):
f1f68383d8b6b773009832943c7bd9a077ac4a4e
SUCCESS checkout https://github.com/iSapozhnik/Popover.git at 1.1.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",
"dependencies": [
{
"identity": "popover",
"name": "Popover",
"url": "https://github.com/iSapozhnik/Popover.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Popover",
"dependencies": [
]
}
]
}
Fetching https://github.com/iSapozhnik/Popover.git
[1/261] Fetching popover
Fetched https://github.com/iSapozhnik/Popover.git from cache (0.85s)
Creating working copy for https://github.com/iSapozhnik/Popover.git
Working copy of https://github.com/iSapozhnik/Popover.git resolved at 1.1.1 (f1f6838)
warning: '.resolve-product-dependencies': dependency 'popover' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/iSapozhnik/Popover.git
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/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/12] Compiling Popover StatusItemContainerView.swift
[4/12] Compiling Popover PopoverWindowController.swift
[5/12] Compiling Popover PopoverWindowBackgroundView.swift
[6/12] Compiling Popover PopoverConfiguration.swift
[7/12] Compiling Popover EventMonitor.swift
[8/12] Compiling Popover MenuItem.swift
[9/12] Compiling Popover Popover.swift
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:12:41: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
10 | public class Popover: NSObject {
11 | public var window: NSWindow? {
12 | return popoverWindowController?.window
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
13 | }
14 |
AppKit.NSWindowController:23:25: note: property declared here
21 | @available(macOS 10.10, *)
22 | open var contentViewController: NSViewController? { get set }
23 | @MainActor open var window: NSWindow? { get set }
| `- note: property declared here
24 | open var isWindowLoaded: Bool { get }
25 | @available(swift, obsoleted: 3, renamed: "isWindowLoaded")
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:31:76: warning: main actor-isolated property 'windowIsOpen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
29 |
30 | private var isPopoverWindowVisible: Bool {
31 | return (popoverWindowController != nil) ? popoverWindowController!.windowIsOpen : false
| `- warning: main actor-isolated property 'windowIsOpen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
32 | }
33 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/PopoverWindowController.swift:11:29: note: property declared here
9 |
10 | class PopoverWindowController: NSWindowController, NSWindowDelegate {
11 | public private(set) var windowIsOpen: Bool = false
| `- note: property declared here
12 | public private(set) var isAnimating: Bool = false
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:76:35: warning: call to main actor-isolated initializer 'init(with:contentViewController:windowConfiguration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
72 | ///
73 | /// By default it won't present any Popover until the user clicks on status bar item
74 | public func prepare(with image: NSImage, contentViewController viewController: NSViewController) {
| `- note: add '@MainActor' to make instance method 'prepare(with:contentViewController:)' part of global actor 'MainActor'
75 | configureStatusBarButton(with: image)
76 | popoverWindowController = PopoverWindowController(with: self, contentViewController: viewController, windowConfiguration: wConfig)
| `- warning: call to main actor-isolated initializer 'init(with:contentViewController:windowConfiguration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
77 | localEventMonitor?.start()
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/PopoverWindowController.swift:17:5: note: calls to initializer 'init(with:contentViewController:windowConfiguration:)' from outside of its actor context are implicitly asynchronous
15 | private let wConfig: PopoverConfiguration
16 |
17 | init(with popover: Popover, contentViewController: NSViewController, windowConfiguration: PopoverConfiguration) {
| `- note: calls to initializer 'init(with:contentViewController:windowConfiguration:)' from outside of its actor context are implicitly asynchronous
18 | self.popover = popover
19 | self.wConfig = windowConfiguration
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:85:35: warning: call to main actor-isolated initializer 'init(with:contentViewController:windowConfiguration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
81 | ///
82 | /// By default it won't present any Popover until the user clicks on status bar item
83 | public func prepare(with view: NSView, contentViewController viewController: NSViewController) {
| `- note: add '@MainActor' to make instance method 'prepare(with:contentViewController:)' part of global actor 'MainActor'
84 | configureStatusBarButton(with: view)
85 | popoverWindowController = PopoverWindowController(with: self, contentViewController: viewController, windowConfiguration: wConfig)
| `- warning: call to main actor-isolated initializer 'init(with:contentViewController:windowConfiguration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
86 | localEventMonitor?.start()
87 | }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/PopoverWindowController.swift:17:5: note: calls to initializer 'init(with:contentViewController:windowConfiguration:)' from outside of its actor context are implicitly asynchronous
15 | private let wConfig: PopoverConfiguration
16 |
17 | init(with popover: Popover, contentViewController: NSViewController, windowConfiguration: PopoverConfiguration) {
| `- note: calls to initializer 'init(with:contentViewController:windowConfiguration:)' from outside of its actor context are implicitly asynchronous
18 | self.popover = popover
19 | self.wConfig = windowConfiguration
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:96:34: warning: call to main actor-isolated instance method 'show(withFocus:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
92 |
93 | /// Shows the Popover with no animation
94 | public func show(withFocus: Bool) {
| `- note: add '@MainActor' to make instance method 'show(withFocus:)' part of global actor 'MainActor'
95 | guard !isPopoverWindowVisible else { return }
96 | popoverWindowController?.show(withFocus: withFocus)
| `- warning: call to main actor-isolated instance method 'show(withFocus:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
97 | globalEventMonitor?.start()
98 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/PopoverWindowController.swift:31:10: note: calls to instance method 'show(withFocus:)' from outside of its actor context are implicitly asynchronous
29 | }
30 |
31 | func show(withFocus: Bool) {
| `- note: calls to instance method 'show(withFocus:)' from outside of its actor context are implicitly asynchronous
32 | guard !isAnimating else { return }
33 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:108:34: warning: call to main actor-isolated instance method 'dismiss()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
104 |
105 | /// Dismisses the Popover with default animation. Animation behavior is `AnimationBehavior.utilityWindow`
106 | public func dismiss() {
| `- note: add '@MainActor' to make instance method 'dismiss()' part of global actor 'MainActor'
107 | guard isPopoverWindowVisible else { return }
108 | popoverWindowController?.dismiss()
| `- warning: call to main actor-isolated instance method 'dismiss()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
109 | globalEventMonitor?.stop()
110 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/PopoverWindowController.swift:46:10: note: calls to instance method 'dismiss()' from outside of its actor context are implicitly asynchronous
44 | }
45 |
46 | func dismiss() {
| `- note: calls to instance method 'dismiss()' from outside of its actor context are implicitly asynchronous
47 | guard !isAnimating else { return }
48 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:155:16: warning: main actor-isolated property 'image' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
148 | }
149 |
150 | private func configureStatusBarButton(with image: NSImage) {
| `- note: add '@MainActor' to make instance method 'configureStatusBarButton(with:)' part of global actor 'MainActor'
151 | item = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
152 | guard let button = item.button else { return }
153 |
154 | image.isTemplate = true
155 | button.image = image
| `- warning: main actor-isolated property 'image' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
156 | setTargetAction(for: button)
157 | }
AppKit.NSButton:56:25: note: mutation of this property is only permitted within the actor
54 | @available(macOS 10.14, *)
55 | @NSCopying open var contentTintColor: NSColor? { get set }
56 | @MainActor open var image: NSImage? { get set }
| `- note: mutation of this property is only permitted within the actor
57 | open var alternateImage: NSImage? { get set }
58 | open var imagePosition: NSControl.ImagePosition { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:160:71: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
157 | }
158 |
159 | private func configureStatusBarButton(with view: NSView) {
| `- note: add '@MainActor' to make instance method 'configureStatusBarButton(with:)' part of global actor 'MainActor'
160 | item = NSStatusBar.system.statusItem(withLength: NSWidth(view.bounds))
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
161 | guard let button = item.button else { return }
162 |
AppKit.NSView:76:25: note: property declared here
74 | @available(swift, obsoleted: 3, renamed: "rotate(byDegrees:)")
75 | open func rotateByAngle(_ angle: CGFloat)
76 | @MainActor open var bounds: NSRect { get set }
| `- note: property declared here
77 | open var isFlipped: Bool { get }
78 | @available(swift, obsoleted: 3, renamed: "isFlipped")
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:163:35: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
157 | }
158 |
159 | private func configureStatusBarButton(with view: NSView) {
| `- note: add '@MainActor' to make instance method 'configureStatusBarButton(with:)' part of global actor 'MainActor'
160 | item = NSStatusBar.system.statusItem(withLength: NSWidth(view.bounds))
161 | guard let button = item.button else { return }
162 |
163 | let statusItemContainer = StatusItemContainerView()
| `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
164 |
165 | setTargetAction(for: button)
AppKit.NSView:354:35: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
352 | @available(macOS 10.14, *)
353 | open func viewDidChangeEffectiveAppearance()
354 | @MainActor public convenience init()
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
355 | @available(macOS 10.5, *)
356 | open var animations: [NSAnimatablePropertyKey : Any] { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:166:16: warning: call to main actor-isolated instance method 'addSubview' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
157 | }
158 |
159 | private func configureStatusBarButton(with view: NSView) {
| `- note: add '@MainActor' to make instance method 'configureStatusBarButton(with:)' part of global actor 'MainActor'
160 | item = NSStatusBar.system.statusItem(withLength: NSWidth(view.bounds))
161 | guard let button = item.button else { return }
:
164 |
165 | setTargetAction(for: button)
166 | button.addSubview(statusItemContainer)
| `- warning: call to main actor-isolated instance method 'addSubview' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
167 |
168 | statusItemContainer.embed(view)
AppKit.NSView:29:26: note: calls to instance method 'addSubview' from outside of its actor context are implicitly asynchronous
27 | @available(macOS 10.5, *)
28 | open func viewDidUnhide()
29 | @MainActor open func addSubview(_ view: NSView)
| `- note: calls to instance method 'addSubview' from outside of its actor context are implicitly asynchronous
30 | open func addSubview(_ view: NSView, positioned place: NSWindow.OrderingMode, relativeTo otherView: NSView?)
31 | open func sortSubviews(_ compare: @convention(c) (NSView, NSView, UnsafeMutableRawPointer?) -> ComparisonResult, context: UnsafeMutableRawPointer?)
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:168:29: warning: call to main actor-isolated instance method 'embed' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
157 | }
158 |
159 | private func configureStatusBarButton(with view: NSView) {
| `- note: add '@MainActor' to make instance method 'configureStatusBarButton(with:)' part of global actor 'MainActor'
160 | item = NSStatusBar.system.statusItem(withLength: NSWidth(view.bounds))
161 | guard let button = item.button else { return }
:
166 | button.addSubview(statusItemContainer)
167 |
168 | statusItemContainer.embed(view)
| `- warning: call to main actor-isolated instance method 'embed' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
169 | }
170 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/StatusItemContainerView.swift:16:10: note: calls to instance method 'embed' from outside of its actor context are implicitly asynchronous
14 | }
15 |
16 | func embed(_ view: NSView) {
| `- note: calls to instance method 'embed' from outside of its actor context are implicitly asynchronous
17 | addSubview(view)
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:176:16: warning: main actor-isolated property 'target' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
173 | }
174 |
175 | private func setTargetAction(for button: NSButton) {
| `- note: add '@MainActor' to make instance method 'setTargetAction(for:)' part of global actor 'MainActor'
176 | button.target = self
| `- warning: main actor-isolated property 'target' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
177 | button.action = #selector(handleStatusItemButtonAction(_:))
178 | }
AppKit.NSControl:4:30: note: mutation of this property is only permitted within the actor
2 | public init(frame frameRect: NSRect)
3 | public init?(coder: NSCoder)
4 | @MainActor weak open var target: AnyObject? { get set }
| `- note: mutation of this property is only permitted within the actor
5 | open var action: Selector? { get set }
6 | open var tag: Int { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:177:16: warning: main actor-isolated property 'action' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
173 | }
174 |
175 | private func setTargetAction(for button: NSButton) {
| `- note: add '@MainActor' to make instance method 'setTargetAction(for:)' part of global actor 'MainActor'
176 | button.target = self
177 | button.action = #selector(handleStatusItemButtonAction(_:))
| `- warning: main actor-isolated property 'action' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
178 | }
179 |
AppKit.NSControl:5:14: note: mutation of this property is only permitted within the actor
3 | public init?(coder: NSCoder)
4 | @MainActor weak open var target: AnyObject? { get set }
5 | open var action: Selector? { get set }
| `- note: mutation of this property is only permitted within the actor
6 | open var tag: Int { get set }
7 | open var ignoresMultiClick: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:76:35: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | public func prepare(with image: NSImage, contentViewController viewController: NSViewController) {
75 | configureStatusBarButton(with: image)
76 | popoverWindowController = PopoverWindowController(with: self, contentViewController: viewController, windowConfiguration: wConfig)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
77 | localEventMonitor?.start()
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:76:35: warning: sending 'self.wConfig' risks causing data races; this is an error in the Swift 6 language mode
74 | public func prepare(with image: NSImage, contentViewController viewController: NSViewController) {
75 | configureStatusBarButton(with: image)
76 | popoverWindowController = PopoverWindowController(with: self, contentViewController: viewController, windowConfiguration: wConfig)
| |- warning: sending 'self.wConfig' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.wConfig' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
77 | localEventMonitor?.start()
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:85:35: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
83 | public func prepare(with view: NSView, contentViewController viewController: NSViewController) {
84 | configureStatusBarButton(with: view)
85 | popoverWindowController = PopoverWindowController(with: self, contentViewController: viewController, windowConfiguration: wConfig)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
86 | localEventMonitor?.start()
87 | }
/Users/admin/builder/spi-builder-workspace/Sources/Popover/Popover.swift:85:35: warning: sending 'self.wConfig' risks causing data races; this is an error in the Swift 6 language mode
83 | public func prepare(with view: NSView, contentViewController viewController: NSViewController) {
84 | configureStatusBarButton(with: view)
85 | popoverWindowController = PopoverWindowController(with: self, contentViewController: viewController, windowConfiguration: wConfig)
| |- warning: sending 'self.wConfig' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.wConfig' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
86 | localEventMonitor?.start()
87 | }
[10/12] Emitting module Popover
[11/12] Compiling Popover Extensions.swift
[12/12] Compiling Popover PopoverWindow.swift
Build complete! (12.93s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Popover",
"name" : "Popover",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.11"
}
],
"products" : [
{
"name" : "Popover",
"targets" : [
"Popover"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "PopoverTests",
"module_type" : "SwiftTarget",
"name" : "PopoverTests",
"path" : "Tests/PopoverTests",
"sources" : [
"PopoverTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Popover"
],
"type" : "test"
},
{
"c99name" : "Popover",
"module_type" : "SwiftTarget",
"name" : "Popover",
"path" : "Sources/Popover",
"product_memberships" : [
"Popover"
],
"sources" : [
"EventMonitor.swift",
"Extensions.swift",
"MenuItem.swift",
"Popover.swift",
"PopoverConfiguration.swift",
"PopoverWindow.swift",
"PopoverWindowBackgroundView.swift",
"PopoverWindowController.swift",
"StatusItemContainerView.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
Done.