Rakefile in rerun-0.6.2 vs Rakefile in rerun-0.6.3

- old
+ new

@@ -26,10 +26,20 @@ def package(ext='') "pkg/#{$spec.name}-#{$spec.version}" + ext end +desc 'Exit if git is dirty' +task :check_git do + state = `git status 2> /dev/null | tail -n1` + clean = (state =~ /working directory clean/) + unless clean + warn "can't do that on an unclean git dir" + exit 1 + end +end + desc 'Build packages' task :package => %w[.gem .tar.gz].map { |e| package(e) } desc 'Build and install as local gem' task :install => package('.gem') do @@ -53,8 +63,12 @@ SH sh cmd.gsub(/ +/, ' ') end desc 'Publish gem and tarball to rubyforge' -task 'release' => [package('.gem'), package('.tar.gz')] do |t| +task 'release' => [:check_git, package('.gem'), package('.tar.gz')] do |t| + puts "Releasing #{$spec.version}" sh "gem push #{package('.gem')}" + puts "Tagging and pushing" + sh "git tag -v#{$spec.version}" + sh "git push && git push --tags" end