From: Nathaniel Talbott Date: 2007-01-12T00:06:59+09:00 Subject: Re: Tattle - The Ruby Census On 1/11/07, Pit Capitain 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 Talbott <:((><