Skip to content

Commit 4431eef

Browse files
committed
Add push task to push built gems
1 parent 14ec9bc commit 4431eef

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

rakelib/release.rake

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
release_task = Rake.application["release"]
2+
release_task.prerequisites.delete("build")
3+
release_task.prerequisites.delete("release:rubygem_push")
4+
release_task_comment = release_task.comment
5+
if release_task_comment
6+
release_task.clear_comments
7+
release_task.comment = release_task_comment.gsub(/ and build.*$/, "")
8+
end
9+
10+
desc "Push built gems"
11+
task "push" do
12+
require "open-uri"
13+
helper = Bundler::GemHelper.instance
14+
gemspec = helper.gemspec
15+
name = gemspec.name
16+
version = gemspec.version.to_s
17+
pkg_dir = "pkg"
18+
mkdir_p(pkg_dir)
19+
["", "-java"].each do |type|
20+
base_url = "https://github.com/ruby/#{name}/releases/download"
21+
url = URI("#{base_url}/v#{version}/#{name}-#{version}#{type}.gem")
22+
path = "#{pkg_dir}/#{File.basename(url.path)}"
23+
url.open do |input|
24+
File.open(path, "wb") do |output|
25+
IO.copy_stream(input, output)
26+
end
27+
helper.__send__(:rubygem_push, path)
28+
end
29+
end
30+
end

0 commit comments

Comments
 (0)