Rakefile in rumination-0.12.3 vs Rakefile in rumination-0.12.4

- old
+ new

@@ -1,6 +1,37 @@ require "bundler/gem_tasks" require "rspec/core/rake_task" +require "highline/import" +require "active_support/core_ext/object/blank" RSpec::Core::RakeTask.new(:spec) task :default => :spec + +task :choose_version do + current_version = Rumination::VERSION + released = `git tag -l v#{current_version}`.present? + if released + major, minor, build = current_version.split(".") + major, minor, build = [major, minor, build].map(&:to_i) + next_build = [major, minor, build+1].join(".") + next_minor = [major, minor + 1].join(".") + next_major = [major + 1, 0].join(".") + next_version = nil + choose do |menu| + menu.prompt = "Choose new version" + menu.choice(next_build) { next_version = next_build } + menu.choice(next_minor) { next_version = next_minor } + menu.choice(next_major) { next_version = next_major } + menu.default = next_build + end + version_src = "lib/rumination/version.rb" + version_tmp = "tmp/next_version.rb" + mkdir_p "tmp" + sh %Q[cat #{version_src} | sed s:#{current_version}:#{next_version}: > #{version_tmp}] + cp version_tmp, version_src + sh %Q[git add #{version_src}] + sh %Q[git commit -m "version bump to #{next_version}"] + end +end + +task release: :choose_version