summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKouhei Sutou <kou@clear-code.com>2018-08-31 15:08:03 +0900
committerKouhei Sutou <kou@clear-code.com>2018-08-31 15:08:03 +0900
commitd246a2147e51077b564e700f5e523313619d0014 (patch)
treee63918943490bd5bbce732913256cbffaade3e94
parentcdff36d7a62523906459d10eabc1a7f69c99161c (diff)
downloadrake-compiler-d246a2147e51077b564e700f5e523313619d0014.tar.gz
Use bundler for release task
-rw-r--r--rake-compiler.gemspec1
-rw-r--r--tasks/gem.rake13
-rw-r--r--tasks/news.rake39
-rw-r--r--tasks/release.rake26
4 files changed, 5 insertions, 74 deletions
diff --git a/rake-compiler.gemspec b/rake-compiler.gemspec
index fd6f851..90daaf5 100644
--- a/rake-compiler.gemspec
+++ b/rake-compiler.gemspec
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
s.add_dependency 'rake'
# development dependencies
+ s.add_development_dependency 'bundler'
s.add_development_dependency 'rspec', '~> 2.8.0'
s.add_development_dependency 'cucumber', '~> 1.1.4'
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