summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2020-12-06 15:56:44 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2020-12-06 16:11:09 +0900
commit967ed35bbb2c42646b764ce9f72d69e609e2eafd (patch)
tree194aa33631d2bcc2d643764eeb1a4cb73eac3c0f
parent18b2ce11b5b0736723aa321e77c67be4395c3297 (diff)
Moved update-bundled_gems code to a tool
-rw-r--r--common.mk11
-rw-r--r--tool/update-bundled_gems.rb13
2 files changed, 14 insertions, 10 deletions
diff --git a/common.mk b/common.mk
index 95dae70252..b334056b4a 100644
--- a/common.mk
+++ b/common.mk
@@ -1328,16 +1328,7 @@ extract-gems$(gnumake:yes=-nongnumake): PHONY
update-bundled_gems: PHONY
$(Q) $(RUNRUBY) -rrubygems \
- -pla \
- -e 'unless /^[^#]/!~(gem=$$F[0])' \
- -e '(gem,src), = Gem::SpecFetcher.fetcher.detect(:latest) {'"|s|" \
- -e 's.platform=="ruby"&&s.name==gem' \
- -e '}' \
- -e 'gem = src.fetch_spec(gem)' \
- -e 'uri = gem.metadata["source_code_uri"]||gem.homepage' \
- -e 'uri = uri.sub(%r[\Ahttps://github\.com/[^/]+/[^/]+\K/tree/.*], "")' \
- -e '$$_ = [gem.name, gem.version, uri].join(" ")' \
- -e 'end' \
+ $(tooldir)/update-bundled_gems.rb \
"$(srcdir)/gems/bundled_gems" | \
"$(IFCHANGE)" "$(srcdir)/gems/bundled_gems" -
diff --git a/tool/update-bundled_gems.rb b/tool/update-bundled_gems.rb
new file mode 100644
index 0000000000..905857e27c
--- /dev/null
+++ b/tool/update-bundled_gems.rb
@@ -0,0 +1,13 @@
+#!ruby -pla
+BEGIN {
+ require 'rubygems'
+}
+unless /^[^#]/ !~ (gem = $F[0])
+ (gem, src), = Gem::SpecFetcher.fetcher.detect(:latest) {|s|
+ s.platform == "ruby" && s.name == gem
+ }
+ gem = src.fetch_spec(gem)
+ uri = gem.metadata["source_code_uri"] || gem.homepage
+ uri = uri.sub(%r[\Ahttps://github\.com/[^/]+/[^/]+\K/tree/.*], "")
+ $_ = [gem.name, gem.version, uri].join(" ")
+end