On 1/11/07, Pit C. [email protected] wrote:
When you ship your application with Makefiles, you sure don’t ship it
with make and gcc and all the other things that are required to
execute the Makefile, do you?
Well, on Debian at least, gcc, autoconf and the like would be build
dependencies. But point taken.
The same applies here: I don’t mind if gems are shipped with rakefiles,
even rakefiles which depend on hoe. But why do you think you need to
ship everything needed to execute those rakefiles? As I have proved with
the tattle gem, they absolutely aren’t needed to use tattle.
So: can any gem developer who consciously includes hoe as a dependency,
explain to me what this allows the gem user to do what he couldn’t do
otherwise?
I guess for me this comes down to the lack of a “compile-time” in Ruby
- for a typical user, hoe doesn’t do anything. However, as soon as you
want to start interacting with gems on an automated, programatic (we
might even say “meta”) level, which I would argue is one “use” of
them, then it becomes much more important.
Lets say, for instance, that I’m a sysadmin and I want to
automatically run the unit tests for all installed gems across a bunch
of machines. I’d much rather not have to manually go through each gem,
figure out what it needs so that I can run its tests, store that
somehow (since it’s not in the spec), install the dependencies since
they aren’t already, and all that to just automatically run tests for
the gems.
I suppose if you think of gems as a static, compiled representation of
Ruby code, hoe becomes a big deal. However, I tend to think of a gem
as more of an object that I can interact with on multiple levels
rather than a ‘compiled’ library that I’m not supposed to touch after
install. It’s probably just my Ruby-addled brain - “But it’s all
runtime, I tell you!”
Now, those who think rubygems should’ve been changed to add
development dependencies first (rather than hoe using the existing
uncategorized dependencies for the time being) have a point, and
should probably not use hoe until that happens. But c’mon people -
it’s a little convenience library, not something anyone is forced in
any way to use. If you feel that strongly about it, just boycott gems
that depend on it.
I just figured it out - you’re all really shills for Zed, aren’t you?
He’s worried about mongrel’s spot in the gem download stats, and he’s
mobilized you all to ensure that hoe doesn’t bump it off! “King of the
Internet” indeed!
Ruby on,
–
Nathaniel T.
<:((><