Closed e2 closed 9 years ago
:boom: That's some serious refactoring. It looks really good! I'll test it out some in the morning. Is this good to go, or still a work in progress?
@imathis - everything should work fine. The tests don't provide 100% coverage, but they are probably good enough - and the tests are green: https://travis-ci.org/guard/guard-jekyll-plus/builds/44173500.
I'm pretty much done (the goal was to use Guard::Compat to make Guard::Jekyllplus more immune to current and future internal changes in Guard). I tried to keep the functionality 100% the same, so there shouldn't be any surprises.
A few issues maybe:
But everything seems to work fine right now. They only thing I'd maybe add is coveralls/coverage - so you can see which areas aren't tested with tests, fix that and have more confidence when releasing.
Otherwise if something doesn't work - adding a test should be trivial. So that should help with contributions and further refactoring - and reduces the need to test stuff manually.
If I were you I'd notify other people with forks about the changes - I'm sure they'll have plenty of ideas for improvements and tweaks.
Either way - I'm done until I break something in Guard again. I'd probably file an issue with Jekyll so that fork() wouldn't be necessary - but I prefer Rack+Thin anyway.
+1 Start the game already!
LiveReload doesn't work with Thin on this branch.
It works when running in a separate Guard instance (using Guard groups), so I'm guessing LiveReload's EventMachine doesn't play well with fork().
This means it may be currently not possible to have "everything working" within a single Guard instance.
The only idea I have is to run Rack as a child process, and not through fork().
Also, the build
method in action.rb
should catch StandardError
exception, because that's what Haml
errors are based on, and jekyll throws what it gets.
The StandardError should also be caught in Builder::Rebuilder#update
.
The real fix is here: https://github.com/jekyll/jekyll/issues/3289 (but it may take a long time before a change is released).
I'm sorry it's taking me so long to review this. I'm in the middle of working on a big release for Octopress and these are a lot of changes to digest. Do you know if these regressions due to the refactor or are they issues with being incompatible with newer versions of dependencies?
I never got guard-jekyll-plus to work completely as intended (or as I wanted), so I'm only using this branch.
These issues are nothing new:
I can't reasonably send more PRs (or add issues) until you merge this into master.
This PR isn't different from the current master besides the few points that I described.
Besides, LiveReload won't work if you have ignore /^_site/
in your Guardfile template (ignore works globally).
Looks good. On to the future :)