[Rubygems-developers] What is right and wrong with dependencies definitions?

Eric Hodel drbrain at segment7.net
Fri Nov 9 17:47:51 EST 2007

On Nov 6, 2007, at 18:44 , Luis Lavena wrote:
> Been updating some gems locally (crafted by myself) and found a
> curious situation:
> Eric told me on #ruby-lang that Hoe include itself as dependency since
> it's needed to perform gem 'check' operations.
> Also, on FireBrigade, 'as gem developer' there is listed that Rake and
> RSpec are included if Rakefile or spec/* folder is found in the gem,
> just to ease the task if you forgot to include.
> This raise me the question: this is right? I mean, sometimes when I
> download some gems, I trust they work as expected by the release
> notes. If not, I checkout the source code (if some repo is available)
> and perform my tests locally.
> For some gems it's overkill to depend on rspec when you're working
> with trunk to perform some test -- since there is no official release
> of latest changes -- and include vendor/rspec distract from the task.
> What is the best approach for this? Include everything as dependency?

Including everything is the best approach.

My conclusion is that people only want to bikeshed[1] about this  
topic.  They don't want to define an actual solution.  When this  
issue first came up (with hoe) people complained loudly, and I told  
them that the best way to handle this would be "developer  
dependencies".  It took eight months for the feature request to show  
up on the tracker[2].  Two and a half months later, the requester  
hasn't defined how they think developer dependencies are supposed to  

Things that need to be discussed are:
* should developer dependencies by installed by default?
* what does the command-line option look like?
* what happens on uninstall?
* what should `gem check` do if all dependencies aren't installed?

Before attempting a patch, I think at least these questions should be  
answered.  There are probably more, since getting it to work well  
requires changes and hooks in lots of places.

Its really easy to say "gems should have developer dependencies".   
Its a lot of work to make it a reality.

[1] http://www.bikeshed.org/
[2] http://rubyforge.org/tracker/index.php? 

Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars

More information about the Rubygems-developers mailing list