Open headius opened 5 years ago
I am willing to work on this. Might require some assistance though. Please let me know.
@bratish Sure, have a look at the tutorial and there are some examples of importing a Java API in our samples directory. Once you have imported something, it's mostly just plain Ruby.
Thanks, @headius. @floehopper has submitted a patch already.
Any progress on this one?
@donv I guess @floehopper PR was closed but hopefully we can still make this happen. Might need someone else to jump in on it.
I'm afraid I'm unlikely to have time to work on the PR in the near future. I hope someone else can help.
@floehopper No worries, hopefully what you have will be a good start for someone. I tweeted out a call for help!
@headius Any updates here? I agree that it looks very possible. @bratish Would you possibly be interested still?
@headius @bratish Any updates here?
No updates on my end. It appears that MacOS still does not have a good way to implement this on JVM, so any NIO-based version should probably just be used on Linux and Windows which both have good file notification APIs. I don't have time to work on this currently though.
I believe listen on JRuby will fall back on a polling implementation currently, since most of the adapters require C extensions. Specifically, I was looking at the Windows adapter, which needs the "wdm" extension on CRuby.
However, JRuby runs on the JDK, which has a built-in, cross-platform filesystem eventing API:
https://docs.oracle.com/javase/tutorial/essential/io/notification.html
Judging by the other adapters, it seems like we wouldn't need to write much code to support efficient filesystem monitoring for JRuby on all platforms where the JDK exists (which is pretty much all platforms).
Opening this issue in case someone with more time than me wants to give it a shot.