Class: Release
Constant Summary
collapse
- DEFAULT_COMMIT_MESSAGE =
'preparing for release [CI SKIP]'
Releasetool::Util::DIR, Releasetool::Util::RELEASE_MARKER_FILE, Releasetool::Util::TEMPLATE_FILE
Instance Method Summary
collapse
#config, #guarded_capture, #guarded_system, #remove_stored_version, #stored_version, version_file
Instance Method Details
#__print_version ⇒ Object
122
123
124
|
# File 'lib/tasks/release_thor.rb', line 122
def __print_version
say "Releasetool v#{Releasetool::VERSION}"
end
|
#abort ⇒ Object
115
116
117
|
# File 'lib/tasks/release_thor.rb', line 115
def abort
remove_stored_version
end
|
#commit(version = nil) ⇒ Object
#init ⇒ Object
15
16
17
|
# File 'lib/tasks/release_thor.rb', line 15
def init
config.generate
end
|
#latest ⇒ Object
35
36
37
|
# File 'lib/tasks/release_thor.rb', line 35
def latest
puts previous_version
end
|
#list ⇒ Object
25
26
27
|
# File 'lib/tasks/release_thor.rb', line 25
def list
system("git for-each-ref --sort='*authordate' --format='%(taggerdate:short) | %(tag) | %(contents)' refs/tags")
end
|
#log(*args) ⇒ Object
45
46
47
48
|
# File 'lib/tasks/release_thor.rb', line 45
def log(*args)
= " #{args.join(" ")}" if args.length > 0
guarded_system("git log #{previous_version}..#{}")
end
|
#push(version = nil) ⇒ Object
104
105
106
107
108
109
|
# File 'lib/tasks/release_thor.rb', line 104
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) ⇒ Object
61
62
63
64
65
66
67
68
|
# File 'lib/tasks/release_thor.rb', line 61
def start(specified_version = nil)
raise Thor::Error.new("Can't start when already started on a version. release abort or release finish") if File.exist?(RELEASE_MARKER_FILE)
version = specified_version ? Releasetool::Version.new(specified_version) : next_version
File.write(RELEASE_MARKER_FILE, version)
Releasetool::Release.new(version, previous: previous_version).prepare(edit: options[:edit])
config.after_start_hook(version)
end
|
#tag(version = nil) ⇒ Object
93
94
95
96
97
|
# File 'lib/tasks/release_thor.rb', line 93
def tag(version = nil)
version ||= stored_version
last_useful_commit = guarded_capture("git log head^^..head^ --pretty=format:%s").strip.split("\n").first.strip
guarded_system("git tag -a #{version} -e -m \"#{last_useful_commit}\"")
end
|