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