[Rubygems-developers] What is right and wrong with dependencies definitions?
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 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. 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.
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