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