From 3065f0b3920ab8d6f1051a33b7fcd57cfaf6da54 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Sun, 23 Jan 2022 15:03:32 +0100 Subject: [PATCH] Add script to automatically add a version to ruby-builder-versions.json --- new-version.rb | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 new-version.rb diff --git a/new-version.rb b/new-version.rb new file mode 100644 index 0000000..c25e486 --- /dev/null +++ b/new-version.rb @@ -0,0 +1,34 @@ +engine, version = ARGV.fetch(0).split('-', 2) + +MATCH = case engine +when 'ruby', 'jruby' + /^\d+\.\d+\./ +when 'truffleruby' + /^\d+\./ +end + +raise unless version[MATCH] + +file = "#{__dir__}/ruby-builder-versions.json" +lines = File.readlines(file, chomp: true) + +from = lines.index { |line| line =~ /"#{engine}": \[/ } +to = from +to += 1 until lines[to].include?(']') + +from += 1 # [ +to -= 2 # head, ] + +puts lines[from..to] + +release_line = lines[from..to].find { |line| + v = line[/"([^"]+)"/, 1] and v[MATCH] == version[MATCH] +} + +if release_line + release_line << " #{version.inspect}," +else + lines.insert to+1, " #{version.inspect}," +end + +File.write(file, lines.join("\n") + "\n")