Skip to content

Commit 7026cc4

Browse files
Merge pull request #16 from jessereynolds/rakelib
rake release fixes - add release:prepare and vox:version:bump:full rake tasks
2 parents be0d734 + ab761a5 commit 7026cc4

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

Rakefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ task :changelog, [:version] do |_t, args|
1717
sh "scripts/generate_changelog.rb #{args[:version]}"
1818
end
1919

20+
desc 'Prepare for a release'
21+
task 'release:prepare' => [:changelog]
22+
2023
desc "Check for new versions of bundled modules"
2124
task :update_modules do
2225
sh "scripts/update_modules.rb"

rakelib/vox.rake

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# frozen_string_literal: true
2+
3+
namespace :vox do
4+
desc 'Update the version in preparation for a release'
5+
task 'version:bump:full', [:version] do |_, args|
6+
abort 'You must provide a tag.' if args[:version].nil? || args[:version].empty?
7+
version = args[:version]
8+
abort "#{version} does not appear to be a valid version string in x.y.z format" unless Gem::Version.correct?(version)
9+
10+
# Update lib/bolt/version.rb and openbolt.gemspec
11+
puts "Setting version to #{version}"
12+
13+
data = File.read('lib/bolt/version.rb')
14+
new_data = data.sub(/VERSION = '\d+\.\d+\.\d+(-\w+(\..*)?)?'/, "VERSION = '#{version}'")
15+
if data != new_data
16+
File.write('lib/bolt/version.rb', new_data)
17+
else
18+
warn 'Failed to update version in lib/bolt/version.rb'
19+
end
20+
21+
data = File.read('openbolt.gemspec')
22+
new_data = data.sub(/(spec.version *=) '\d+\.\d+\.\d+(-\w+(\.\w+)?)?'/, "\\1 '#{version}'")
23+
if data != new_data
24+
File.write('openbolt.gemspec', new_data)
25+
else
26+
warn 'Failed to update version in openbolt.gemspec'
27+
end
28+
end
29+
end
30+

0 commit comments

Comments
 (0)