Build Information
Successful build of FileMonitor, reference main (ef22f1
), with Swift 6.0 for Linux on 5 Nov 2024 06:13:28 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/aus-der-Technik/FileMonitor.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/aus-der-Technik/FileMonitor
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at ef22f14 Adds support for AsyncStream (#4)
Cloned https://github.com/aus-der-Technik/FileMonitor.git
Revision (git rev-parse @):
ef22f1487d07fbff0a7a5f743d42611bfd03b5e8
SUCCESS checkout https://github.com/aus-der-Technik/FileMonitor.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $PWD
https://github.com/aus-der-Technik/FileMonitor.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Building for debugging...
[0/15] Write sources
[5/15] Write swift-version-24593BA9C3E375BF.txt
[7/19] Compiling FileMonitorShared Watcher.swift
[8/19] Compiling FileMonitorShared URL+isDirectory.swift
[9/19] Compiling FileMonitorShared FileChangeEvent.swift
[10/19] Emitting module FileMonitorShared
[11/20] Wrapping AST for FileMonitorShared for debugging
[13/24] Compiling FileMonitorLinux InotifyEvent.swift
[14/24] Compiling FileMonitorLinux LinuxWatcher.swift
[15/24] Emitting module FileMonitorLinux
[16/24] Compiling FileMonitorLinux FileSystemWatcher.swift
/host/spi-builder-workspace/Sources/FileMonitorLinux/FileSystemWatcher.swift:57:20: warning: capture of 'self' with non-sendable type 'FileSystemWatcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
9 |
10 | #if os(Linux)
11 | public class FileSystemWatcher {
| `- note: class 'FileSystemWatcher' does not conform to the 'Sendable' protocol
12 | // inotify_init() initializes a new inotify instance and returns a
13 | // file descriptor associated with a new inotify event queue.
:
55 | let buffer = UnsafeMutablePointer<CChar>.allocate(capacity: bufferLength)
56 |
57 | while !self.shouldStopWatching {
| `- warning: capture of 'self' with non-sendable type 'FileSystemWatcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 | var currentIndex: Int = 0
59 | let readLength = read(fileDescriptor, buffer, bufferLength)
/host/spi-builder-workspace/Sources/FileMonitorLinux/FileSystemWatcher.swift:78:29: warning: capture of 'callback' with non-sendable type '(InotifyEvent) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 |
77 | self.dispatchQueue.async() {
78 | callback(inotifyEvent)
| |- warning: capture of 'callback' with non-sendable type '(InotifyEvent) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
79 | }
80 | }
/host/spi-builder-workspace/Sources/FileMonitorLinux/FileSystemWatcher.swift:78:29: warning: capture of 'callback' with non-sendable type '(InotifyEvent) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 |
77 | self.dispatchQueue.async() {
78 | callback(inotifyEvent)
| |- warning: capture of 'callback' with non-sendable type '(InotifyEvent) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
79 | }
80 | }
/host/spi-builder-workspace/Sources/FileMonitorLinux/FileSystemWatcher.swift:78:38: warning: capture of 'inotifyEvent' with non-sendable type 'InotifyEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 |
77 | self.dispatchQueue.async() {
78 | callback(inotifyEvent)
| `- warning: capture of 'inotifyEvent' with non-sendable type 'InotifyEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
79 | }
80 | }
/host/spi-builder-workspace/Sources/FileMonitorLinux/InotifyEvent.swift:12:15: note: consider making struct 'InotifyEvent' conform to the 'Sendable' protocol
10 |
11 | /// A single Inotify event
12 | public struct InotifyEvent {
| `- note: consider making struct 'InotifyEvent' conform to the 'Sendable' protocol
13 | // Watch descriptor
14 | public let watchDescriptor: Int
[17/25] Wrapping AST for FileMonitorLinux for debugging
[19/28] Emitting module FileMonitor
[20/28] Compiling FileMonitor FileDidChangedDelegate.swift
[21/28] Compiling FileMonitor FileMonitor.swift
/host/spi-builder-workspace/Sources/FileMonitor/FileMonitor.swift:84:39: warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
82 | public func fileDidChanged(event: FileChangeEvent) {
83 | delegate?.fileDidChanged(event: event)
84 | fileChangeStream.continuation.yield(event)
| |- warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'event' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
85 | }
86 |
[22/29] Wrapping AST for FileMonitor for debugging
[24/33] Emitting module FileMonitorDelegateExample
[25/33] Compiling FileMonitorDelegateExample FileMonitorDelegateExample.swift
[27/34] Emitting module FileMonitorAsyncStreamExample
[28/34] Compiling FileMonitorAsyncStreamExample FileMonitorAsyncStreamExample.swift
[28/35] Wrapping AST for FileMonitorDelegateExample for debugging
[30/35] Write Objects.LinkFileList
[31/35] Wrapping AST for FileMonitorAsyncStreamExample for debugging
[32/35] Write Objects.LinkFileList
[33/35] Linking FileMonitorDelegateExample
[34/35] Linking FileMonitorAsyncStreamExample
Build complete! (19.52s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "FileMonitor",
"name" : "FileMonitor",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "FileMonitor",
"targets" : [
"FileMonitor"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "FileMonitorDelegateExample",
"targets" : [
"FileMonitorDelegateExample"
],
"type" : {
"executable" : null
}
},
{
"name" : "FileMonitorAsyncStreamExample",
"targets" : [
"FileMonitorAsyncStreamExample"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "FileMonitorTests",
"module_type" : "SwiftTarget",
"name" : "FileMonitorTests",
"path" : "Tests/FileMonitorTests",
"sources" : [
"Extensions/String+Random.swift",
"FileMonitorExplicitAddTests.swift",
"FileMonitorExplicitChangeTests.swift",
"FileMonitorExplicitDeleteTests.swift",
"FileMonitorFileHasPathTests.swift",
"FileMonitorTests.swift"
],
"target_dependencies" : [
"FileMonitor"
],
"type" : "test"
},
{
"c99name" : "FileMonitorShared",
"module_type" : "SwiftTarget",
"name" : "FileMonitorShared",
"path" : "Sources/FileMonitorShared",
"product_memberships" : [
"FileMonitor",
"FileMonitorDelegateExample",
"FileMonitorAsyncStreamExample"
],
"sources" : [
"FileChangeEvent.swift",
"URL+isDirectory.swift",
"Watcher.swift"
],
"type" : "library"
},
{
"c99name" : "FileMonitorMacOS",
"module_type" : "SwiftTarget",
"name" : "FileMonitorMacOS",
"path" : "Sources/FileMonitorMacOS",
"product_memberships" : [
"FileMonitor",
"FileMonitorDelegateExample",
"FileMonitorAsyncStreamExample"
],
"sources" : [
"FileWatcher+Action.swift",
"FileWatcher+Type.swift",
"FileWatcher.swift",
"FileWatcherEvent.swift",
"MacosWatcher.swift"
],
"target_dependencies" : [
"FileMonitorShared"
],
"type" : "library"
},
{
"c99name" : "FileMonitorLinux",
"module_type" : "SwiftTarget",
"name" : "FileMonitorLinux",
"path" : "Sources/FileMonitorLinux",
"product_memberships" : [
"FileMonitor",
"FileMonitorDelegateExample",
"FileMonitorAsyncStreamExample"
],
"sources" : [
"FileSystemWatcher.swift",
"InotifyEvent.swift",
"LinuxWatcher.swift"
],
"target_dependencies" : [
"CInotify",
"FileMonitorShared"
],
"type" : "library"
},
{
"c99name" : "FileMonitorDelegateExample",
"module_type" : "SwiftTarget",
"name" : "FileMonitorDelegateExample",
"path" : "Sources/FileMonitorDelegateExample",
"product_memberships" : [
"FileMonitorDelegateExample"
],
"sources" : [
"FileMonitorDelegateExample.swift"
],
"target_dependencies" : [
"FileMonitor"
],
"type" : "executable"
},
{
"c99name" : "FileMonitorAsyncStreamExample",
"module_type" : "SwiftTarget",
"name" : "FileMonitorAsyncStreamExample",
"path" : "Sources/FileMonitorAsyncStreamExample",
"product_memberships" : [
"FileMonitorAsyncStreamExample"
],
"sources" : [
"FileMonitorAsyncStreamExample.swift"
],
"target_dependencies" : [
"FileMonitor"
],
"type" : "executable"
},
{
"c99name" : "FileMonitor",
"module_type" : "SwiftTarget",
"name" : "FileMonitor",
"path" : "Sources/FileMonitor",
"product_memberships" : [
"FileMonitor",
"FileMonitorDelegateExample",
"FileMonitorAsyncStreamExample"
],
"sources" : [
"FileDidChangedDelegate.swift",
"FileMonitor.swift"
],
"target_dependencies" : [
"FileMonitorShared",
"FileMonitorMacOS",
"FileMonitorLinux"
],
"type" : "library"
},
{
"c99name" : "CInotify",
"module_type" : "SystemLibraryTarget",
"name" : "CInotify",
"path" : "Sources/Inotify",
"product_memberships" : [
"FileMonitor",
"FileMonitorDelegateExample",
"FileMonitorAsyncStreamExample"
],
"sources" : [
],
"type" : "system-target"
}
],
"tools_version" : "5.9"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.