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 work. 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? func=detail&aid=13287&group_id=126&atid=578 -- Poor workers blame their tools. Good workers build better tools. The best workers get their tools to do the work for them. -- Syndicate Wars _______________________________________________ Rubygems-developers mailing list [email protected] http://rubyforge.org/mailman/listinfo/rubygems-developers
