diff options
Diffstat (limited to 'tool/fetch-bundled_gems.rb')
-rwxr-xr-x[-rw-r--r--] | tool/fetch-bundled_gems.rb | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/tool/fetch-bundled_gems.rb b/tool/fetch-bundled_gems.rb index a0d7181b68..ae3068d35c 100644..100755 --- a/tool/fetch-bundled_gems.rb +++ b/tool/fetch-bundled_gems.rb @@ -1,17 +1,27 @@ -require 'fileutils' +#!ruby -an +BEGIN { + require 'fileutils' -File.readlines("#{ARGV[0]}/gems/bundled_gems").each do |gem| - n, v, u = gem.split + dir = ARGV.shift + ARGF.eof? + FileUtils.mkdir_p(dir) + Dir.chdir(dir) +} +n, v, u = $F +case n +when "minitest" + v = "master" +when "test-unit" +else v = "v" + v +end - case n - when "minitest" - v = "master" - when "test-unit" - v = v[1..-1] - end - - FileUtils.mkdir_p "#{ARGV[0]}/gems/src" - `#{ARGV[0]}/tool/git-refresh -C #{ARGV[0]}/gems/src --branch #{v} #{u} #{n}` +if File.directory?(n) + puts "updating #{n} ..." + system(*%W"git fetch", chdir: n) or abort +else + puts "retrieving #{n} ..." + system(*%W"git clone #{u} #{n}") or abort end +system(*%W"git checkout #{v}", chdir: n) or abort |