summaryrefslogtreecommitdiff
path: root/tool/fetch-bundled_gems.rb
diff options
context:
space:
mode:
Diffstat (limited to 'tool/fetch-bundled_gems.rb')
-rwxr-xr-x[-rw-r--r--]tool/fetch-bundled_gems.rb34
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