Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
New adapter for Windows and safer specs for Travis #56
For the last couple of weeks I've been working on a new gem called WDM to fix the performance issue Listen had on Windows. I've benchmarked it against FChange and the results were encouraging for me to keep developing it. WDM has some disadvantages too, so here is the quick run down:
Advantages of WDM:
WDM has been stable enough for the past 3 days and didn't crash once while I was using it.
As you may know, Listen has had a performance issue on Windows. Sometimes, it didn't even report changes. So I decided to implement the windows adapter in Listen with WDM and see how it works. It worked quite good and all the specs pass.
I also took the opportunity to make an end to the "russian roulette" we were playing with travis (thanks @netzpirat for this great description :) ). Adapters can now report changes on demand instead of using the latency, which allows us to wait until all tests has run and then check the results. The only disadvantage of this is that tests now require the developer to specify how many change he expects to get.
@guard/listen I'm wondering what you think about these changes. I would say WDM is in the alpha phase right now, so do you think it's a good decision to replace FChange with WDM any time soon? Also, what do you think about the fix for the travis problem?
Oh wow, great work @Maher4Ever
Ruby 1.8.7 EOL is in 10 months, so it's not a big disadvantage.
Oh, I think I can help with this and add Java 7 WatchService API support to listen and JRuby is a first class citizen again on all plattforms. I anyway planned to give some JRuby love to Guard, since it's a confession of failure currently.
I do not like these dependencies either and I'm in favor of #54
Sounds like it is and the ultimate reason to do so is that it's maintained by you.
I'd not care to specify the expected change count, since we do similar with mocks, but I prefer to have solid specs :P
Great work Maher.
added a commit
this pull request
Aug 18, 2012
Hi, how is the new dependency manager supposed to work with
Note that this is not immediately noticeable for those who updated from older versions of guard, since those gems may still be present in Gemfile.lock