For 3rd parties building binary packages, and for build consistency in general, it is very helpful to have the same set of dependencies at any time the product is built. See [tools/godep](https://github.com/tools/godep) for further details.
51 lines
2.8 KiB
Markdown
51 lines
2.8 KiB
Markdown
# File system notifications for Go
|
|
|
|
[](https://godoc.org/github.com/fsnotify/fsnotify) [](https://goreportcard.com/report/github.com/fsnotify/fsnotify)
|
|
|
|
fsnotify utilizes [golang.org/x/sys](https://godoc.org/golang.org/x/sys) rather than `syscall` from the standard library. Ensure you have the latest version installed by running:
|
|
|
|
```console
|
|
go get -u golang.org/x/sys/...
|
|
```
|
|
|
|
Cross platform: Windows, Linux, BSD and OS X.
|
|
|
|
|Adapter |OS |Status |
|
|
|----------|----------|----------|
|
|
|inotify |Linux 2.6.27 or later, Android\*|Supported [](https://travis-ci.org/fsnotify/fsnotify)|
|
|
|kqueue |BSD, OS X, iOS\*|Supported [](https://travis-ci.org/fsnotify/fsnotify)|
|
|
|ReadDirectoryChangesW|Windows|Supported [](https://ci.appveyor.com/project/NathanYoungman/fsnotify/branch/master)|
|
|
|FSEvents |OS X |[Planned](https://github.com/fsnotify/fsnotify/issues/11)|
|
|
|FEN |Solaris 11 |[In Progress](https://github.com/fsnotify/fsnotify/issues/12)|
|
|
|fanotify |Linux 2.6.37+ | |
|
|
|USN Journals |Windows |[Maybe](https://github.com/fsnotify/fsnotify/issues/53)|
|
|
|Polling |*All* |[Maybe](https://github.com/fsnotify/fsnotify/issues/9)|
|
|
|
|
\* Android and iOS are untested.
|
|
|
|
Please see [the documentation](https://godoc.org/github.com/fsnotify/fsnotify) for usage. Consult the [Wiki](https://github.com/fsnotify/fsnotify/wiki) for the FAQ and further information.
|
|
|
|
## API stability
|
|
|
|
fsnotify is a fork of [howeyc/fsnotify](https://godoc.org/github.com/howeyc/fsnotify) with a new API as of v1.0. The API is based on [this design document](http://goo.gl/MrYxyA).
|
|
|
|
All [releases](https://github.com/fsnotify/fsnotify/releases) are tagged based on [Semantic Versioning](http://semver.org/). Further API changes are [planned](https://github.com/fsnotify/fsnotify/milestones), and will be tagged with a new major revision number.
|
|
|
|
Go 1.6 supports dependencies located in the `vendor/` folder. Unless you are creating a library, it is recommended that you copy fsnotify into `vendor/github.com/fsnotify/fsnotify` within your project, and likewise for `golang.org/x/sys`.
|
|
|
|
## Contributing
|
|
|
|
Please refer to [CONTRIBUTING][] before opening an issue or pull request.
|
|
|
|
## Example
|
|
|
|
See [example_test.go](https://github.com/fsnotify/fsnotify/blob/master/example_test.go).
|
|
|
|
[contributing]: https://github.com/fsnotify/fsnotify/blob/master/CONTRIBUTING.md
|
|
|
|
## Related Projects
|
|
|
|
* [notify](https://github.com/rjeczalik/notify)
|
|
* [fsevents](https://github.com/fsnotify/fsevents)
|
|
|