On 1/10/07, Eric Hodel <drbrain / segment7.net> wrote: > On Jan 10, 2007, at 08:16, Alex LeDonne wrote: > > On 1/10/07, Eric Hodel <drbrain / segment7.net> wrote: > > > >> You fixed this the wrong way. The problem is in RubyGems not > >> allowing you the ability to distinguish between run-time dependencies > >> and build-time dependencies. > > > > I'm having a hard time with terminology. > > > > If you're deploying a pure ruby gem, then a build-time requirement > > which is not a run-time requirement is not a dependency, right? > > Provided RubyGems allows you to make such a distinction, correct. At > present RubyGems dependencies are dependencies, regardless of how > they are used. I'm suggesting that something not required at run-time should not appear in the gemspec as a dependency; the definition of dependencies in the gem sense is "the gems that must be installed for this gem to work." (from http://docs.rubygems.org/read/chapter/20 ) In other words, RubyGems already makes such a distinction. Dependencies in the gemspec are defined as the run-time dependencies. > > That is, if build-time does not include any time after the gem is > > downloaded to my client box, then stuff you (the maintainer of the > > gem) need at build time should not be a dependency in the gem sense. > > > > So "build-time dependencies" should exist in the gem sense only when a > > gem requires compilation, I think. If I am mistaken, then the phrase > > "build-time dependencies" has some meaning to you which is opaque to > > me. > > By "build" I mean work on, not compile. ZenTest is a build-time > dependency for some of my gems because I use its assertion library > when I'm building (adding features to or fixing bugs in) that gem. I assert that if I don't need to have ZenTest installed to use your gem, then ZenTest should not appear in the gemspec as a dependency. If I want to work on your gems to contribute, I'll use source control to get your README, which I presume will list development requirements/dependencies. -A