in dev/release/01-prepare-test.rb [131:340]
def test_version_pre_tag
omit_on_release_branch
expected_changes = [
{
path: "c_glib/meson.build",
hunks: [
["- version: '#{@snapshot_version}',",
"+ version: '#{@release_version}',"],
],
},
{
path: "c_glib/vcpkg.json",
hunks: [
["- \"version-string\": \"#{@snapshot_version}\",",
"+ \"version-string\": \"#{@release_version}\","],
],
},
{
path: "ci/scripts/PKGBUILD",
hunks: [
["-pkgver=#{@previous_version}.9000",
"+pkgver=#{@release_version}"],
],
},
{
path: "cpp/CMakeLists.txt",
hunks: [
["-set(ARROW_VERSION \"#{@snapshot_version}\")",
"+set(ARROW_VERSION \"#{@release_version}\")"],
],
},
{
path: "cpp/meson.build",
hunks: [
["- version: '#{@snapshot_version}',",
"+ version: '#{@release_version}',"],
],
},
{
path: "cpp/vcpkg.json",
hunks: [
["- \"version-string\": \"#{@snapshot_version}\",",
"+ \"version-string\": \"#{@release_version}\","],
],
},
{
path: "csharp/Directory.Build.props",
hunks: [
["- <Version>#{@snapshot_version}</Version>",
"+ <Version>#{@release_version}</Version>"],
],
},
{
path: "dev/tasks/homebrew-formulae/apache-arrow-glib.rb",
hunks: [
["- url \"https://www.apache.org/dyn/closer.lua?path=arrow/arrow-#{@snapshot_version}/apache-arrow-#{@snapshot_version}.tar.gz\"",
"+ url \"https://www.apache.org/dyn/closer.lua?path=arrow/arrow-#{@release_version}/apache-arrow-#{@release_version}.tar.gz\""],
],
},
{
path: "dev/tasks/homebrew-formulae/apache-arrow.rb",
hunks: [
["- url \"https://www.apache.org/dyn/closer.lua?path=arrow/arrow-#{@snapshot_version}/apache-arrow-#{@snapshot_version}.tar.gz\"",
"+ url \"https://www.apache.org/dyn/closer.lua?path=arrow/arrow-#{@release_version}/apache-arrow-#{@release_version}.tar.gz\""],
],
},
]
unless next_release_type == :patch
expected_changes += [
{
path: "docs/source/_static/versions.json",
hunks: [
[
"- \"name\": \"#{@release_compatible_version} (dev)\",",
"+ \"name\": \"#{@next_compatible_version} (dev)\",",
"- \"name\": \"#{@previous_compatible_version} (stable)\",",
"+ \"name\": \"#{@release_compatible_version} (stable)\",",
"+ {",
"+ \"name\": \"#{@previous_compatible_version}\",",
"+ \"version\": \"#{@previous_compatible_version}/\",",
"+ \"url\": \"https://arrow.apache.org/docs/#{@previous_compatible_version}/\"",
"+ },",
],
],
},
]
end
expected_changes += [
{
path: "js/package.json",
hunks: [
["- \"version\": \"#{@snapshot_version}\"",
"+ \"version\": \"#{@release_version}\""],
],
},
{
path: "matlab/CMakeLists.txt",
hunks: [
["-set(MLARROW_VERSION \"#{@snapshot_version}\")",
"+set(MLARROW_VERSION \"#{@release_version}\")"],
],
},
{
path: "python/CMakeLists.txt",
hunks: [
["-set(PYARROW_VERSION \"#{@snapshot_version}\")",
"+set(PYARROW_VERSION \"#{@release_version}\")"],
],
},
{
path: "python/pyproject.toml",
hunks: [
["-fallback_version = '#{@release_version}a0'",
"+fallback_version = '#{@release_version}'"],
],
},
{
path: "r/DESCRIPTION",
hunks: [
["-Version: #{@previous_version}.9000",
"+Version: #{@release_version}"],
],
},
{
path: "r/NEWS.md",
hunks: [
["-\# arrow #{@previous_version}.9000",
"+\# arrow #{@release_version}"],
],
},
]
if next_release_type == :major
expected_changes += [
{
path: "r/pkgdown/assets/versions.html",
hunks: [
[
"-<body><p><a href=\"../dev/r/\">#{@previous_version}.9000 (dev)</a></p>",
"-<p><a href=\"../r/\">#{@previous_r_version} (release)</a></p>",
"+<body><p><a href=\"../dev/r/\">#{@release_version}.9000 (dev)</a></p>",
"+<p><a href=\"../r/\">#{@release_version} (release)</a></p>",
"+<p><a href=\"../#{@previous_compatible_version}/r/\">" +
"#{@previous_r_version}</a></p>",
]
],
},
{
path: "r/pkgdown/assets/versions.json",
hunks: [
[
"- \"name\": \"#{@previous_version}.9000 (dev)\",",
"+ \"name\": \"#{@release_version}.9000 (dev)\",",
"- \"name\": \"#{@previous_r_version} (release)\",",
"+ \"name\": \"#{@release_version} (release)\",",
"+ {",
"+ \"name\": \"#{@previous_r_version}\",",
"+ \"version\": \"#{@previous_compatible_version}/\"",
"+ },",
]
],
},
]
else
expected_changes += [
{
path: "r/pkgdown/assets/versions.html",
hunks: [
[
"-<body><p><a href=\"../dev/r/\">#{@previous_version}.9000 (dev)</a></p>",
"-<p><a href=\"../r/\">#{@previous_r_version} (release)</a></p>",
"+<body><p><a href=\"../dev/r/\">#{@release_version}.9000 (dev)</a></p>",
"+<p><a href=\"../r/\">#{@release_version} (release)</a></p>",
]
],
},
{
path: "r/pkgdown/assets/versions.json",
hunks: [
[
"- \"name\": \"#{@previous_version}.9000 (dev)\",",
"+ \"name\": \"#{@release_version}.9000 (dev)\",",
"- \"name\": \"#{@previous_r_version} (release)\",",
"+ \"name\": \"#{@release_version} (release)\",",
]
],
},
]
end
Dir.glob("ruby/**/version.rb") do |path|
version = " VERSION = \"#{@snapshot_version}\""
new_version = " VERSION = \"#{@release_version}\""
expected_changes << {
hunks: [
[
"-#{version}",
"+#{new_version}",
]
],
path: path,
}
end
stdout = prepare("VERSION_PRE_TAG")
assert_equal(expected_changes.sort_by {|diff| diff[:path]},
parse_patch(git("log", "-n", "1", "-p")),
"Output:\n#{stdout}")
end