Build Information
Successful build of Popover with Swift 6.0 for macOS (SPM).
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/iSapozhnik/Popover.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/iSapozhnik/Popover
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 6320d17 Create swift.yml
Cloned https://github.com/iSapozhnik/Popover.git
Revision (git rev-parse @):
6320d17adba6fde413e65f3c55fd2f19351d0ace
SUCCESS checkout https://github.com/iSapozhnik/Popover.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/iSapozhnik/Popover.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/12] Compiling Popover PopoverWindowController.swift
[4/12] Compiling Popover StatusItemContainerView.swift
[5/12] Compiling Popover PopoverWindowBackgroundView.swift
[6/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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 | }
[7/12] Compiling Popover PopoverConfiguration.swift
[8/12] Compiling Popover PopoverWindow.swift
[9/12] Compiling Popover Extensions.swift
[10/12] Compiling Popover MenuItem.swift
[11/12] Emitting module Popover
[12/12] Compiling Popover EventMonitor.swift
Build complete! (24.54s)
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.