Skip to content

Commit 16fd13b

Browse files
committed
[build] update task logic to support nightly rust version conversions
1 parent 55ea572 commit 16fd13b

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

Rakefile

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,7 @@ namespace :rb do
700700
text = File.read(file).gsub(old_version, new_version)
701701
File.open(file, "w") { |f| f.puts text }
702702

703-
Rake::Task['rb:changelog'].invoke unless old_version.include?('nightly')
703+
Rake::Task['rb:changelog'].invoke unless new_version.include?('nightly')
704704
end
705705
end
706706

@@ -901,16 +901,22 @@ namespace :rust do
901901

902902
desc 'Update Rust version'
903903
task :version, [:version] do |_task, arguments|
904-
old_version = arguments[:version] ? arguments[:version] : rust_version.split('.').tap(&:shift).append('0').join('.')
905-
new_version = updated_version(old_version, arguments[:version])
906-
new_version = new_version.split('.').tap(&:pop).join('.')
904+
old_version = rust_version.dup
905+
equivalent_version = if old_version.include?('nightly')
906+
old_version.split('.')[0...-1].tap(&:shift).append('0').append('nightly').join('.')
907+
else
908+
old_version.split('.').tap(&:shift).append('0').join('.')
909+
end
910+
converted_version = updated_version(equivalent_version, arguments[:version])
911+
new_version = converted_version.split('.').unshift("0").tap(&:pop).join('.')
912+
new_version += '.nightly' unless old_version.include?('nightly')
907913

908914
['rust/Cargo.toml', 'rust/BUILD.bazel'].each do |file|
909915
text = File.read(file).gsub(old_version, new_version)
910916
File.open(file, "w") { |f| f.puts text }
911917
end
912918

913-
Rake::Task['rust:changelog'].invoke
919+
Rake::Task['rust:changelog'].invoke unless new_version.include?('nightly')
914920
end
915921
end
916922

@@ -983,6 +989,7 @@ namespace :all do
983989
if version == 'nightly'
984990
Rake::Task['java:version'].invoke
985991
Rake::Task['rb:version'].invoke
992+
Rake::Task['rust:version'].invoke
986993
else
987994
Rake::Task['java:version'].invoke(version)
988995
Rake::Task['rb:version'].invoke(version)
@@ -1034,8 +1041,10 @@ end
10341041
def updated_version(current, desired = nil)
10351042
version = desired ? desired.split('.') : current.split(/\.|-/)
10361043
if desired
1044+
# Allows user to pass in only major/minor versions
10371045
version << "0" while version.size < 3
10381046
elsif version.size > 3
1047+
# Assumes a pre-release version which means removing the pre-release portion
10391048
version.pop while version.size > 3
10401049
else
10411050
version[1] = (version[1].to_i + 1).to_s

0 commit comments

Comments
 (0)