gradle-fileevents

Native bindings for file-system watching

APACHE-2.0 License

Stars
1
Committers
6

Gradle File Events Library

A cross-platform library to watch for changes on the file-system.

Supported platforms

  • macOS – x86_64 (tested on 13 and 14) and aarch64 (untested)
  • Linux – x86_64(tested on Ubuntu 20.04 and 24.04) and aarch64 (untested)
  • Windows – x86_64 (tested on Windows 2019 and 2022) and aarch64 (untested)

Building

The project uses Gradle to build the final library. Under the hood it utilizes Zig to cross-compile the C/C++ code.

Prerequisites

The project currently requires macOS to link to the SDK. It also depends on JDK to be specifically for Darwin. Both of these limitations should be removable with some legwork in the future.

Running the build

./gradlew assemble

This should produce a build/libs/gradle-fileevents.jar file that contains everything.

Testing

To run tests with the library built locally:

./gradlew test

To run tests with the library built on another machine, place the JAR in build/remote/gradle-fileevents.jar:

./gradlew externalTest