diff options
author | Sutou Kouhei <kou@clear-code.com> | 2022-04-16 07:08:19 +0900 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2022-04-16 07:08:41 +0900 |
commit | 22f79ae3f749ebe31c34c22d5b8699ffd81ab341 (patch) | |
tree | 2354103446e95ab5180d551a776e8a1ed3a530d4 | |
parent | 566fb7fa7d7c221b7048fc27d206d90739a2abc6 (diff) |
[ruby/stringio] Add push task to push built gems
https://github.com/ruby/stringio/commit/4431eefbad
-rw-r--r-- | rakelib/release.rake | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/rakelib/release.rake b/rakelib/release.rake new file mode 100644 index 0000000000..ca9ab714c9 --- /dev/null +++ b/rakelib/release.rake @@ -0,0 +1,30 @@ +release_task = Rake.application["release"] +release_task.prerequisites.delete("build") +release_task.prerequisites.delete("release:rubygem_push") +release_task_comment = release_task.comment +if release_task_comment + release_task.clear_comments + release_task.comment = release_task_comment.gsub(/ and build.*$/, "") +end + +desc "Push built gems" +task "push" do + require "open-uri" + helper = Bundler::GemHelper.instance + gemspec = helper.gemspec + name = gemspec.name + version = gemspec.version.to_s + pkg_dir = "pkg" + mkdir_p(pkg_dir) + ["", "-java"].each do |type| + base_url = "https://github.com/ruby/#{name}/releases/download" + url = URI("#{base_url}/v#{version}/#{name}-#{version}#{type}.gem") + path = "#{pkg_dir}/#{File.basename(url.path)}" + url.open do |input| + File.open(path, "wb") do |output| + IO.copy_stream(input, output) + end + helper.__send__(:rubygem_push, path) + end + end +end |