]> go.fuhry.dev Git - fsnotify.git/commitdiff
Allow build on unsupported GOOS (#424)
authorTobias Klauser <tklauser@distanz.ch>
Tue, 25 Jan 2022 02:13:06 +0000 (03:13 +0100)
committerGitHub <noreply@github.com>
Tue, 25 Jan 2022 02:13:06 +0000 (19:13 -0700)
In cases where fsnotify is a transitive dependency of a package, it
might need to be built on platforms not supported (yet), e.g. aix.
Provide an empty implemention for these cases, so depending packages
don't need to add workarounds.

Replaces #314

fsnotify_unsupported.go [new file with mode: 0644]

diff --git a/fsnotify_unsupported.go b/fsnotify_unsupported.go
new file mode 100644 (file)
index 0000000..eb25cb4
--- /dev/null
@@ -0,0 +1,36 @@
+// Copyright 2022 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build !darwin && !dragonfly && !freebsd && !linux && !netbsd && !solaris && !windows
+// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!solaris,!windows
+
+package fsnotify
+
+import (
+       "fmt"
+       "runtime"
+)
+
+// Watcher watches a set of files, delivering events to a channel.
+type Watcher struct{}
+
+// NewWatcher establishes a new watcher with the underlying OS and begins waiting for events.
+func NewWatcher() (*Watcher, error) {
+       return nil, fmt.Errorf("fsnotify not supported on %s", runtime.GOOS)
+}
+
+// Close removes all watches and closes the events channel.
+func (w *Watcher) Close() error {
+       return nil
+}
+
+// Add starts watching the named file or directory (non-recursively).
+func (w *Watcher) Add(name string) error {
+       return nil
+}
+
+// Remove stops watching the the named file or directory (non-recursively).
+func (w *Watcher) Remove(name string) error {
+       return nil
+}