From d246a2147e51077b564e700f5e523313619d0014 Mon Sep 17 00:00:00 2001 From: Kouhei Sutou Date: Fri, 31 Aug 2018 15:08:03 +0900 Subject: Use bundler for release task --- tasks/gem.rake | 13 ++++--------- tasks/news.rake | 39 --------------------------------------- tasks/release.rake | 26 -------------------------- 3 files changed, 4 insertions(+), 74 deletions(-) delete mode 100644 tasks/news.rake delete mode 100644 tasks/release.rake (limited to 'tasks') diff --git a/tasks/gem.rake b/tasks/gem.rake index 7cc6df0..6a03afd 100644 --- a/tasks/gem.rake +++ b/tasks/gem.rake @@ -1,10 +1,5 @@ -require 'rubygems/package_task' +require "bundler/gem_helper" -gemspec_path = File.join(__dir__, "..", "rake-compiler.gemspec") -gemspec_path = File.expand_path(gemspec_path) -GEM_SPEC = eval(File.read(gemspec_path), TOPLEVEL_BINDING, gemspec_path) - -gem_package = Gem::PackageTask.new(GEM_SPEC) do |pkg| - pkg.need_tar = false - pkg.need_zip = false -end +base_dir = File.join(__dir__, "..") +helper = Bundler::GemHelper.new(base_dir) +helper.install diff --git a/tasks/news.rake b/tasks/news.rake deleted file mode 100644 index 6b4d175..0000000 --- a/tasks/news.rake +++ /dev/null @@ -1,39 +0,0 @@ -desc 'Generate email template to standard output' -task :announce do - fail "no GEM_SPEC is found or defined. 'announce' task cannot work without it." unless defined?(GEM_SPEC) - - # read project info and overview - notes = begin - r = File.read("README.rdoc") - r.split(/^(=+ .*)/)[1..4].join.strip - rescue - warn "Missing README.rdoc" - '' - end - - # read changes - changes = begin - h = File.read("History.txt") - h.split(/^(===+ .*)/)[1..2].join.strip - rescue - warn "Missing History.txt" - '' - end - - # standard fields - subject = "#{GEM_SPEC.name} #{GEM_SPEC.version} Released" - title = "#{GEM_SPEC.name} version #{GEM_SPEC.version} has been released!" - body = "#{notes}\n\nChanges:\n\n#{changes}" - urls = [GEM_SPEC.homepage].map { |u| "* <#{u.strip}>" }.join("\n") - - puts "=" * 80, "" - puts "Subject: [ANN] #{subject}" - puts - puts title - puts - puts urls - puts - puts body - puts - puts "=" * 80, "" -end diff --git a/tasks/release.rake b/tasks/release.rake deleted file mode 100644 index 7070736..0000000 --- a/tasks/release.rake +++ /dev/null @@ -1,26 +0,0 @@ -desc 'Package gems and upload to RubyGems' -task :release, [:version] => [:package] do |t, args| - args.with_defaults(:version => "") - ver = args.version - - fail "no GEM_SPEC is found or defined. 'release' task cannot work without it." unless defined?(GEM_SPEC) - - # compare versions to avoid mistakes - unless ver == GEM_SPEC.version.to_s then - fail "Version mismatch (supplied and specification versions differ)." - end - - files = FileList["pkg/#{GEM_SPEC.name}-#{GEM_SPEC.version}*.*"].to_a - fail "No files found for the release." if files.empty? - - puts "Files to release:" - files.each do |f| - puts " * #{f}" - end - - puts "Releasing #{GEM_SPEC.name} version #{GEM_SPEC.version}..." - files.each do |f| - system "gem push #{f}" - end - puts "Done." -end -- cgit v1.2.1