When declaring required gems via build.yml buildr claims the gems in
question cannot be located. It seems this is due to use of old rubygems
api in util.rb. Currently at line 129 it uses SourceCacheIndex to find
gems. This reports that it can't find any gems. I inspected the index
files that this command retrieves from the gem servers and this
effectively only contains a single gem.
I then checked the gem query command source code and it turns out there
a newer class, SpecFetcher, is used instead of SourceCacheIndex. A
discussion on the rubygems-developers list
(http://www.mail-archive.com/[email protected]/msg02087.html)
seems to conclude that the SourceCacheIndex stuff should not be used
anymore.
I replaced line 129 with a line I derived from the query command source:
remote = dependencies.map{ |dep| Gem.source_index.search(dep).last ||
Gem::SpecFetcher.fetcher.fetch( dep, true ).map{ |spec, source| spec
}.last }
After this change gem searching and retrieval works correctly.
So, should the gem autoinstallation stuff be updated?
Pepijn