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