From 52804b9f96a441c66cb957d001e71f48cc6a0811 Mon Sep 17 00:00:00 2001
From: Elvin Efendi <elvin.efendiyev@gmail.com>
Date: Mon, 4 Jan 2016 10:47:29 -0500
Subject: return back build related tasks

---
 Rakefile | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

(limited to 'Rakefile')

diff --git a/Rakefile b/Rakefile
index 2dc5415..3a1be5e 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,6 +1,14 @@
 require 'bundler/gem_tasks'
 require 'rake/testtask'
 
+gemspec = eval(File.read(Dir['*.gemspec'].first))
+file    = [gemspec.name, gemspec.version].join('-') + '.gem'
+
+desc 'Validate gemspec'
+task :gemspec do
+  gemspec.validate
+end
+
 desc 'Run minitest'
 task :test do
   Rake::TestTask.new do |t|
@@ -11,4 +19,31 @@ task :test do
   end
 end
 
+desc 'Build gem'
+task :build do
+  system "gem build #{gemspec.name}.gemspec"
+  FileUtils.mkdir_p 'gems'
+  FileUtils.mv file, 'gems'
+end
+
+desc 'Install gem'
+task :install => :build do
+  system "sudo -Es sh -c \'umask 022; gem install gems/#{file}\'"
+end
+
+desc 'Remove gems'
+task :clean do
+  FileUtils.rm_rf 'gems'
+end
+
+desc 'Tag the release'
+task :tag do
+  system "git tag #{gemspec.version}"
+end
+
+desc 'Push to rubygems'
+task :push => :tag do
+  system "gem push gems/#{file}"
+end
+
 task default: :test
-- 
cgit v1.2.3