add release task

This commit is contained in:
Konstantin Haase 2011-09-30 20:35:14 -05:00
parent 5c35abaf88
commit f4cad346ae
1 changed files with 15 additions and 1 deletions

View File

@ -1,6 +1,7 @@
$LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
require 'open-uri'
require 'yaml'
require 'sinatra/contrib/version'
desc "run specs"
task(:spec) { ruby '-S rspec spec -c' }
@ -28,7 +29,6 @@ task :doc => 'doc:all'
desc "generate gemspec"
task 'sinatra-contrib.gemspec' do
require 'sinatra/contrib/version'
content = File.read 'sinatra-contrib.gemspec'
fields = {
@ -59,3 +59,17 @@ task :travis, [:branch] do |t, a|
system 'git add .travis.yml && git diff --cached .travis.yml'
end
task :release => :gemspec do
sh <<-SH
rm -Rf sinatra-contrib*.gem &&
gem build sinatra-contrib.gemspec &&
gem install sinatra-contrib*.gem --local &&
gem push sinatra-contrib*.gem &&
git commit --allow-empty -a -m '#{Sinatra::Contrib::VERSION} release' &&
git tag -s v#{Sinatra::Contrib::VERSION} -m '#{Sinatra::Contrib::VERSION} release' &&
git tag -s #{Sinatra::Contrib::VERSION} -m '#{Sinatra::Contrib::VERSION} release' &&
git push && (git push sinatra || true) &&
git push --tags && (git push sinatra --tags || true)
SH
end