Fix for FileManager repo suddenly being deleted #51
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This pull request addresses the sudden removal of the
https://github.com/aus-der-Technik/FileMonitor.gitrepository by introducing a newly implemented file monitoring module namedFileMonitorwithin the codebase. The new implementation uses a snapshot mechanism with a polling timer to detect added, changed, or deleted files, emitting asynchronous stream events for changes.Details
Package.swift.FileMonitor.swiftimplementing directory monitoring with the ability to detect file adds, changes, and deletions asynchronously.SPMGraphEdit.swiftandSPMGraphLoad.swift) to use the new FileMonitor implementation correctly.FileMonitorTests.swiftto cover scenarios of file addition, modification, deletion, and error conditions during initialization.SPMGraphConfigSetupTests.SPMGraphExecutableE2ETests.swiftfor improved argument handling and verification.This PR restores critical functionality impacted by the missing FileMonitor dependency with a self-contained, tested, and integrated replacement.
The
https://github.com/aus-der-Technik/FileMonitor.gitrepo was suddenly removed and we didn't have an archive of the code. This PR is a new implementation trying to fill the gap it was addressing.