soca
soca copied to clipboard
Remove Jeweler
Gems are just as easy to release without Jeweler than it is with it. It usually gets needlessly injected as a runtime dependency (the gemspec it generated for soca did mark itself as a development dependency in one of the conditional branches, but in reality, using rubygems 1.8.7 and ruby 1.9.2, it's getting included as a runtime dependency). Why does this matter? Jeweler has other dependencies, such as bundler. Not only such as bundler, but bundler 1.0! If you are using bundler 1.1, you get needless dependency headaches.
True, this could be fixed upstream in jeweler. But I don't think it's worth it since it is so easy (easier?) to build gems without jeweler.
There was a place for jeweler back when we had servers that built gems automatically. Since now the convention is to build the gem locally and push it to the server, we can write as much ruby code as we like in the gemspec. The gemspec gets expanded and re-serialized without the code, so you can use things like Date.today, etc. (tar xzf the generated gem if you don't believe me)
To build and push soca after this change:
update the file VERSION gem build soca.gemspec gem push soca-0.2.0.gem
I have tested this patch by uninstalling soca, building a new soca gem using the new gemspec, installing the new gem, then running the following commands:
soca -v
soca generate test