{"issue":{"created_at":"2011-11-28T02:23:50Z","state":"open","updated_at":"2011-11-30T09:55:08Z","comments":2,"user":{"gravatar_id":"c7e2ce5b40f683dfb6c1bdf5e6af0c72","id":8898,"url":"https://api.github.com/users/joshbuddy","avatar_url":"https://secure.gravatar.com/avatar/c7e2ce5b40f683dfb6c1bdf5e6af0c72?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"joshbuddy"},"body":"This will vendor all file system event gems which will work in a cross-platform way.","assignee":null,"id":2363428,"labels":[],"pull_request":{"patch_url":"https://github.com/guard/guard/pull/184.patch","html_url":"https://github.com/guard/guard/pull/184","diff_url":"https://github.com/guard/guard/pull/184.diff"},"number":184,"title":"Remove platform dependencies","closed_at":null,"html_url":"https://github.com/guard/guard/issues/184","url":"https://api.github.com/repos/guard/guard/issues/184","milestone":null},"action":"created","comment":{"created_at":"2011-11-30T09:55:08Z","updated_at":"2011-11-30T09:55:08Z","user":{"gravatar_id":"f7badb59154ee74f13e1586e94c73d8d","id":13811,"url":"https://api.github.com/users/netzpirat","avatar_url":"https://secure.gravatar.com/avatar/f7badb59154ee74f13e1586e94c73d8d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"netzpirat"},"body":"Joshua, thanks for taking time for this nice pull request. I see both, pros and cons for vendor all file system event gems:\r\n\r\n**Pro**\r\n\r\n- Simpler start for new users\r\n\r\n**Con**\r\n\r\n- It's not possible to test Guard with pre-release gems (like the current rb-fsevent 0.9.0.pre4) or use the master branch. This may be necessary on hard to reproduce issues that come to light after using Guard for some time.\r\n- Inflexibility for a user to choose a specific gem version. This may be necessary when a gem drops support for an older system, where a user of the old OS version must stick with an old gem version. Another case is that sometimes for user A works only the current released version, and for user B works only the last but one version.\r\n\r\nThe current cons can be addressed by adding a new [cli option](https://github.com/guard/guard/blob/dev/lib/guard/cli.rb) that sets a loading strategy when the [listener gets initialized](https://github.com/guard/guard/blob/dev/lib/guard.rb#L66). You could make loading the vendor gem the default and use the current loading strategy when passing a certain cli switch, for example `-s/--system-gems`.\r\n\r\nI noticed that you're developing on the master branch and not the dev branch. I'm very sorry for this, that's my fault, because I was so stupid to add the hint to the `dev` branch and not the `master` branch.\r\n\r\n@franciscoj Can you elaborate the problems you've had? I'm just wondering, because I have tested adding both to the `Gemfile` and install them on Mac OS X and Linux. Bundler installs them fine, even when the gem is not supported in the current platform and Guard picks the right one. In addition one could use `RbConfig::CONFIG['host_os']` in the Gemfile to install only the really needed gems for a platform.\r\n\r\n@thibaudgg and @rymai, what do you think of vendored gems?  ","id":2957324,"url":"https://api.github.com/repos/guard/guard/issues/comments/2957324"}}