Skip to content

Commit eab95ee

Browse files
committed
[CI] Adds make.sh bump task
1 parent f62ba7a commit eab95ee

File tree

2 files changed

+38
-11
lines changed

2 files changed

+38
-11
lines changed

rake_tasks/unified_release_tasks.rake

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,39 @@ namespace :unified_release do
5353
sh "cd #{CURRENT_PATH.join(output_dir)} && " \
5454
"zip -r #{@zip_filename}.zip * " \
5555
end
56+
57+
desc <<-DESC
58+
Update Rubygems versions in version.rb and *.gemspec files
59+
60+
Example:
61+
62+
$ rake unified_release:bump[42.0.0]
63+
DESC
64+
task :bump, :version do |_, args|
65+
abort('[!] Required argument [version] missing') unless args[:version]
66+
67+
files = ['elasticsearch/elasticsearch.gemspec']
68+
RELEASE_TOGETHER.each do |gem|
69+
files << Dir["./#{gem}/**/**/version.rb"]
70+
end
71+
72+
version_regexp = Regexp.new(/VERSION = ("|'([0-9.]+(-SNAPSHOT)?)'|")/)
73+
gemspec_regexp = Regexp.new(/('elasticsearch-transport'|'elasticsearch-api'),\s+'([0-9.]+)'/)
74+
75+
files.flatten.each do |file|
76+
content = File.read(file)
77+
regexp = file.match?('gemspec') ? gemspec_regexp : version_regexp
78+
79+
if (match = content.match(regexp))
80+
old_version = match[2]
81+
content.gsub!(old_version, args[:version])
82+
puts "[#{old_version}] -> [#{args[:version]}] in #{file.gsub('./','')}"
83+
File.open(file, 'w') { |f| f.puts content }
84+
else
85+
puts "- [#{file}]".ljust(longest_line+20) + " -"
86+
end
87+
rescue StandardError => e
88+
abort "[!!!] #{e.class} : #{e.message}"
89+
end
90+
end
5691
end

rake_tasks/update_version.rake

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ task :update_version, :old, :new do |_, args|
1515

1616
longest_line = files.map(&:size).max
1717

18-
puts"\n", '= FILES '.ansi(:faint) + ('='*92).ansi(:faint), "\n"
18+
puts "\n", '= FILES '.ansi(:faint) + ('='*92).ansi(:faint), "\n"
1919

2020
files.each do |file|
2121
begin
@@ -32,7 +32,9 @@ task :update_version, :old, :new do |_, args|
3232
raise e
3333
end
3434
end
35+
end
3536

37+
task :update_changelog do
3638
puts "\n\n", '= CHANGELOG '.ansi(:faint) + ('='*88).ansi(:faint), "\n"
3739

3840
log = `git --no-pager log --reverse --no-color --pretty='* %s' HEAD --not v#{args[:old]} elasticsearch*`.split("\n")
@@ -43,7 +45,6 @@ task :update_version, :old, :new do |_, args|
4345
log_entries[:client] = log.select { |l| l =~ /\[CLIENT\]/ }
4446
log_entries[:api] = log.select { |l| l =~ /\[API\]/ }
4547
log_entries[:dsl] = log.select { |l| l =~ /\[DSL\]/ }
46-
log_entries[:ext] = log.select { |l| l =~ /\[EXT\]/ }
4748
log_entries[:xpack] = log.select { |l| l =~ /\[XPACK\]/ }
4849

4950
changelog = File.read(File.open('CHANGELOG.md', 'r'))
@@ -81,15 +82,6 @@ task :update_version, :old, :new do |_, args|
8182
changelog_update << "\n\n"
8283
end
8384

84-
unless log_entries[:client].empty?
85-
changelog_update << "### EXT:#{args[:new]}\n\n"
86-
changelog_update << log_entries[:ext]
87-
.map { |l| l.gsub /\[EXT\] /, '' }
88-
.map { |l| "#{l}" }
89-
.join("\n")
90-
changelog_update << "\n\n"
91-
end
92-
9385
unless log_entries[:xpack].empty?
9486
changelog_update << "### XPACK\n\n"
9587
changelog_update << log_entries[:xpack]

0 commit comments

Comments
 (0)