diff --git a/tool/format-release b/tool/format-release index a4331bb317..a84fd913ee 100755 --- a/tool/format-release +++ b/tool/format-release @@ -1,6 +1,8 @@ #!/usr/bin/env ruby # https://rubygems.org/gems/diffy require "diffy" +require "open-uri" +require "yaml" Diffy::Diff.default_options.merge!( include_diff_info: true, @@ -10,24 +12,22 @@ Diffy::Diff.default_options.merge!( class Tarball attr_reader :version, :sha256 - def initialize(path, size, sha1, sha256, sha512) - /\A\/(?:[^\/\n]*\/)*(?:ruby-(?(?\d+\.\d+)\.\d+(?:-(?:preview|rc)\d+)?)[0-9a-z.\-]+)/ =~ path \ - or raise "tarball path doesn't mach regexp" - @path = path + def initialize(version, url, size, sha1, sha256, sha512) + @url = url @size = size @sha1 = sha1 @sha256 = sha256 @sha512 = sha512 - @version = ver - @xy = xy + @version = version + @xy = version[/\A\d+\.\d+/] end - def gz?; @path.end_with?('.gz'); end - def zip?; @path.end_with?('.zip'); end - def bz2?; @path.end_with?('.bz2'); end - def xz?; @path.end_with?('.xz'); end + def gz?; @url.end_with?('.gz'); end + def zip?; @url.end_with?('.zip'); end + def bz2?; @url.end_with?('.bz2'); end + def xz?; @url.end_with?('.xz'); end - def ext; @path[/(?:zip|tar\.(?:gz|bz2|xz))\z/]; end + def ext; @url[/(?:zip|tar\.(?:gz|bz2|xz))\z/]; end def to_md < " exit end - Tarball.parse(ARGV[0], ARGV[1]) + wwwdir = ARGV.shift + version = ARGV.shift + Tarball.parse(wwwdir, version) end main