One thing I hate about building gems is the scaffolding around the
process. There are a bunch of 'tools' out there to help developers
create gems, but they are all insidious in one way or the other. 'Hoe'
is the worst, since it makes itself a dependency of any gem it
creates. Nasty.
The others also irk me greatly - principally because I don't sit down
one day and say "oh, I know, I'm going to write a library that will be
worth distributing", but instead I hack around using my own best
practices, and then maybe days, weeks or months later, I might want to
wrap something up as a gem suitable for use with other people.
Anyway, so I scratched my own itch and the result is 'gem-this'. I can
talk for a couple of minutes about why I hate the other ones (but why
you might like them), then explain how gem-this works (it's awesome),
and then round off by explaining how to add your own commands to 'gem'.
I cannot imagine this will take more than 8 precious minutes, and I
*can* guarantee a slide with the words "FUCK YOUR CONVENTIONS" on it.
- James
I would be interested in this talk - 'gem this' is definitely
something I've been meaning to try out, and I especially would like to
hear about writing tools in the gem namespace.
I'd be interested in this. I've tried (somewhat unsuccessfully if I
remember correctly) to use both hoe and echoe in the past so I'm
interested in hearing about alternatives.
This should almost certainly go in a different thread but aren't there
alternatives to rubygems now? It might be interesting to hear about
those too.
Chris
I've found jeweler pretty painless for gemifying existing projects
too. There's also gemhub, which is more suited to creating gems from
scratch, but at least keeps out of the way once you've run it (unlike
hoe et al).
Even if gem-this is better, it's at least worth including jeweler in
any comparison.
Kerry
What 'better' means is very much a subjective thing. Most if not all
of these tools (jeweler included) simply wrap around the existing Rake
tasks, are pretty opaque (and therefore unnecessarily hard to
customise), and come with their own ideas about filesystem layout and
development workflow. They all retain hoe-like qualities, even without
being added as explicit dependencies, because I can't develop a
jeweler-based gem without installing jeweler so I can run its tasks.
Some of these can be useful to some folks, but they're basically
getting in my way, and it really doesn't need to be that hard. I
suppose 'gem-this' demonstrates how simple it can really be.
My presentation would probably comprise of me explaining why I think
it's better not to use these tools, why I think they should get out of
the way, a bit about gem-this' approach, and then how to implement
your own gem command.
- James
Could "why I think it's better not to use these tools" be extracted
out of a round up of all the one's you later lay the smackdown upon?
Just so that everyone is aware of the landscape, before you
dynamite-blast your face onto it with the Mount Rushmore of gem-this?
Muz
+2
--
petef