diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-11-04 11:29:42 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-11-04 11:29:42 +0900 |
commit | 6b2a3c84a5a6f06841a277439052ca17a4c65e08 (patch) | |
tree | cd8be861f67a850fd5af86e228746f6802e30df0 /tool | |
parent | 6e38076b1689af98ab1164af9119b9304e54829a (diff) | |
download | ruby-6b2a3c84a5a6f06841a277439052ca17a4c65e08.tar.gz |
Update newer version gems only
Diffstat (limited to 'tool')
-rwxr-xr-x | tool/update-bundled_gems.rb | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/tool/update-bundled_gems.rb b/tool/update-bundled_gems.rb index f27ba98961..2842516cac 100755 --- a/tool/update-bundled_gems.rb +++ b/tool/update-bundled_gems.rb @@ -10,26 +10,29 @@ END { output.print date.strftime("latest_date=%F") if date } unless /^[^#]/ !~ (gem = $F[0]) + ver = Gem::Version.new($F[1]) (gem, src), = Gem::SpecFetcher.fetcher.detect(:latest) {|s| s.platform == "ruby" && s.name == gem } - gem = src.fetch_spec(gem) - if ENV["UPDATE_BUNDLED_GEMS_ALL"] - uri = gem.metadata["source_code_uri"] || gem.homepage - uri = uri.sub(%r[\Ahttps://github\.com/[^/]+/[^/]+\K/tree/.*], "").chomp(".git") - else - uri = $F[2] - end - date = gem.date if !date or gem.date && gem.date > date - if $F[3] - if $F[3].include?($F[1]) - $F[3][$F[1]] = gem.version.to_s - elsif Gem::Version.new($F[1]) != gem.version and /\A\h+\z/ =~ $F[3] - $F[3..-1] = [] + if gem.version > ver + gem = src.fetch_spec(gem) + if ENV["UPDATE_BUNDLED_GEMS_ALL"] + uri = gem.metadata["source_code_uri"] || gem.homepage + uri = uri.sub(%r[\Ahttps://github\.com/[^/]+/[^/]+\K/tree/.*], "").chomp(".git") + else + uri = $F[2] + end + date = gem.date if !date or gem.date && gem.date > date + if $F[3] + if $F[3].include?($F[1]) + $F[3][$F[1]] = gem.version.to_s + elsif Gem::Version.new($F[1]) != gem.version and /\A\h+\z/ =~ $F[3] + $F[3..-1] = [] + end end + f = [gem.name, gem.version.to_s, uri, *$F[3..-1]] + $_.gsub!(/\S+\s*(?=\s|$)/) {|s| (f.shift || "").ljust(s.size)} + $_ = [$_, *f].join(" ") unless f.empty? + $_.rstrip! end - f = [gem.name, gem.version.to_s, uri, *$F[3..-1]] - $_.gsub!(/\S+\s*/) {|s| (f.shift || "").ljust(s.size)} - $_ = [$_, *f].join(" ") unless f.empty? - $_.rstrip! end |