class Release
Constants
- DEFAULT_COMMIT_MESSAGE
Public Instance Methods
abort()
click to toggle source
# File lib/tasks/release_thor.rb, line 99 def abort remove_stored_version end
commit(version=nil)
click to toggle source
# File lib/tasks/release_thor.rb, line 66 def commit(version=nil) version ||= stored_version guarded_system("git add #{DIR}") guarded_system("git add #{VERSION_FILE}") if File.exists?(VERSION_FILE) guarded_system("git commit #{DIR} #{File.exists?(VERSION_FILE) ? VERSION_FILE : ''} -e -m\"#{DEFAULT_COMMIT_MESSAGE}\"") end
latest()
click to toggle source
# File lib/tasks/release_thor.rb, line 23 def latest puts previous_version end
list()
click to toggle source
# File lib/tasks/release_thor.rb, line 13 def list system("git for-each-ref --sort='*authordate' --format='%(taggerdate:short) | %(tag) | %(contents)' refs/tags") end
log(*args)
click to toggle source
# File lib/tasks/release_thor.rb, line 33 def log(*args) extra = " #{args.join(" ")}" if args.length > 0 guarded_system("git log #{previous_version}..#{extra}") end
push(version=nil)
click to toggle source
# File lib/tasks/release_thor.rb, line 88 def push(version=nil) version ||= stored_version guarded_system("git push") guarded_system("git push origin #{version}") remove_stored_version end
start(specified_version=nil)
click to toggle source
# File lib/tasks/release_thor.rb, line 49 def start(specified_version=nil) if File.exists?(RELEASE_MARKER_FILE) raise Thor::Error.new("Can't start when already started on a version. release abort or release finish") end version = next_version(specified_version) File.open(RELEASE_MARKER_FILE, 'w') do |f| f.write(version) end Releasetool::Release.new(version, previous: previous_version).prepare(edit: options[:edit]) end
tag(version=nil)
click to toggle source
# File lib/tasks/release_thor.rb, line 78 def tag(version=nil) version ||= stored_version guarded_system("git tag -a #{version}") end
Protected Instance Methods
next_version(specified)
click to toggle source
# File lib/tasks/release_thor.rb, line 105 def next_version(specified) return Releasetool::Version.new(specified) if specified if options[:major] previous_version.next_major elsif options[:minor] previous_version.next_minor else previous_version.next_patch end end
previous_version()
click to toggle source
# File lib/tasks/release_thor.rb, line 116 def previous_version Releasetool::Version.new(options[:since] || `git describe --abbrev=0 --tags`.strip) end