diff --git a/dev/release/01-prepare-test.rb b/dev/release/01-prepare-test.rb
index 8fb23f45f0f3a..f4bf01f1f6f9b 100644
--- a/dev/release/01-prepare-test.rb
+++ b/dev/release/01-prepare-test.rb
@@ -264,18 +264,17 @@ def test_version_pre_tag
end
Dir.glob("java/**/pom.xml") do |path|
- version = "#{@snapshot_version}"
- lines = File.readlines(path, chomp: true)
- target_lines = lines.grep(/#{Regexp.escape(version)}/)
- hunks = []
- target_lines.each do |line|
- new_line = line.gsub(@snapshot_version) do
- @release_version
+ hunks = generate_hunks(File.readlines(path, chomp: true)) do |line|
+ if line.include?("#{@snapshot_version}")
+ new_line = line.gsub(@snapshot_version) do
+ @release_version
+ end
+ [line, new_line]
+ elsif line.include?("")
+ [line, normalize_pom_xml_output_timestamp(line)]
+ else
+ [nil, nil]
end
- hunks << [
- "-#{line}",
- "+#{new_line}",
- ]
end
expected_changes << {hunks: hunks, path: path}
end
diff --git a/dev/release/post-11-bump-versions-test.rb b/dev/release/post-11-bump-versions-test.rb
index 78d9320bfb312..fd8a74039de99 100644
--- a/dev/release/post-11-bump-versions-test.rb
+++ b/dev/release/post-11-bump-versions-test.rb
@@ -262,37 +262,19 @@ def test_version_post_tag
end
import_path = "github.com/apache/arrow/go/v#{@snapshot_major_version}"
- hunks = []
if release_type == :major
- lines = File.readlines(path, chomp: true)
- target_lines = lines.each_with_index.select do |line, i|
- line.include?(import_path)
- end
- next if target_lines.empty?
- n_context_lines = 3 # The default of Git's diff.context
- target_hunks = [[target_lines.first[0]]]
- previous_i = target_lines.first[1]
- target_lines[1..-1].each do |line, i|
- if i - previous_i < n_context_lines
- target_hunks.last << line
- else
- target_hunks << [line]
- end
- previous_i = i
- end
- target_hunks.each do |lines|
- hunk = []
- lines.each do |line,|
- hunk << "-#{line}"
- end
- lines.each do |line|
+ hunks = generate_hunks(File.readlines(path, chomp: true)) do |line|
+ if line.include?(import_path)
new_line = line.gsub("v#{@snapshot_major_version}") do
"v#{@next_major_version}"
end
- hunk << "+#{new_line}"
+ [line, new_line]
+ else
+ [nil, nil]
end
- hunks << hunk
end
+ else
+ hunks = []
end
if path == "go/parquet/writer_properties.go"
hunks << [
@@ -305,18 +287,17 @@ def test_version_post_tag
end
Dir.glob("java/**/pom.xml") do |path|
- version = "#{@snapshot_version}"
- lines = File.readlines(path, chomp: true)
- target_lines = lines.grep(/#{Regexp.escape(version)}/)
- hunks = []
- target_lines.each do |line|
- new_line = line.gsub(@snapshot_version) do
- @next_snapshot_version
+ hunks = generate_hunks(File.readlines(path, chomp: true)) do |line|
+ if line.include?("#{@snapshot_version}")
+ new_line = line.gsub(@snapshot_version) do
+ @next_snapshot_version
+ end
+ [line, new_line]
+ elsif line.include?("")
+ [line, normalize_pom_xml_output_timestamp(line)]
+ else
+ [nil, nil]
end
- hunks << [
- "-#{line}",
- "+#{new_line}",
- ]
end
expected_changes << {hunks: hunks, path: path}
end
diff --git a/dev/release/test-helper.rb b/dev/release/test-helper.rb
index 3b2c3aa6e5874..1b840c75a481f 100644
--- a/dev/release/test-helper.rb
+++ b/dev/release/test-helper.rb
@@ -83,15 +83,60 @@ def parse_patch(patch)
when /\A@@/
in_hunk = true
diffs.last[:hunks] << []
- when /\A[-+]/
+ when /\A-/
next unless in_hunk
diffs.last[:hunks].last << line.chomp
+ when /\A\+/
+ next unless in_hunk
+ diffs.last[:hunks].last << normalize_added_line(line.chomp)
end
end
diffs.sort_by do |diff|
diff[:path]
end
end
+
+ def generate_hunks(lines)
+ git_diff_context = 3 # The default of Git's diff.context
+ max_lines_for_same_hunk = git_diff_context * 2 + 1
+ previous_i = nil
+ grouped_change_blocks = []
+ lines.each_with_index do |line, i|
+ deleted, added = yield(line)
+ next if deleted.nil? and added.nil?
+ if previous_i.nil? or (i - previous_i) > max_lines_for_same_hunk
+ grouped_change_blocks << []
+ end
+ if i - 1 != previous_i
+ grouped_change_blocks.last << []
+ end
+ grouped_change_blocks.last.last << [deleted, added]
+ previous_i = i
+ end
+ grouped_change_blocks.collect do |change_blocks|
+ hunk = []
+ change_blocks.each do |continuous_changes|
+ continuous_changes.each do |deleted, _|
+ hunk << "-#{deleted}" if deleted
+ end
+ continuous_changes.each do |_, added|
+ hunk << "+#{added}" if added
+ end
+ end
+ hunk
+ end
+ end
+
+ def normalize_pom_xml_output_timestamp(line)
+ line.gsub(/.+?) do
+ "2023-12-13T00:00:00Z<"
+ end
+ end
+
+ def normalize_added_line(line)
+ normalize_pom_xml_output_timestamp(line)
+ end
+
end
module VersionDetectable
diff --git a/java/adapter/avro/pom.xml b/java/adapter/avro/pom.xml
index 6644748b5e597..d32629aec37d1 100644
--- a/java/adapter/avro/pom.xml
+++ b/java/adapter/avro/pom.xml
@@ -25,6 +25,10 @@
(Contrib/Experimental) A library for converting Avro data to Arrow data.
http://maven.apache.org
+
+ 2023-12-13T00:00:00Z
+
+
diff --git a/java/adapter/jdbc/pom.xml b/java/adapter/jdbc/pom.xml
index b6c450ecd32b2..34db2227d5574 100644
--- a/java/adapter/jdbc/pom.xml
+++ b/java/adapter/jdbc/pom.xml
@@ -25,6 +25,10 @@
(Contrib/Experimental)A library for converting JDBC data to Arrow data.
http://maven.apache.org
+
+ 2023-12-13T00:00:00Z
+
+
diff --git a/java/algorithm/pom.xml b/java/algorithm/pom.xml
index 25669010d2d42..f90cab499fa6e 100644
--- a/java/algorithm/pom.xml
+++ b/java/algorithm/pom.xml
@@ -20,6 +20,10 @@
Arrow Algorithms
(Experimental/Contrib) A collection of algorithms for working with ValueVectors.
+
+ 2023-12-13T00:00:00Z
+
+
org.apache.arrow
diff --git a/java/bom/pom.xml b/java/bom/pom.xml
index 2406886222dcb..f4184b446bced 100644
--- a/java/bom/pom.xml
+++ b/java/bom/pom.xml
@@ -15,7 +15,7 @@
org.apache
apache
- 18
+ 31
org.apache.arrow
@@ -26,6 +26,7 @@
Arrow Bill of Materials
+ 3.5.0
diff --git a/java/c/pom.xml b/java/c/pom.xml
index ffd41b62dd674..a753b333cf5cb 100644
--- a/java/c/pom.xml
+++ b/java/c/pom.xml
@@ -22,6 +22,7 @@
Java implementation of C Data Interface
jar
+ 2023-12-13T00:00:00Z
./build
diff --git a/java/compression/pom.xml b/java/compression/pom.xml
index 0db3fae4653a6..1c42b7a9654eb 100644
--- a/java/compression/pom.xml
+++ b/java/compression/pom.xml
@@ -20,6 +20,10 @@
Arrow Compression
(Experimental/Contrib) A library for working with the compression/decompression of Arrow data.
+
+ 2023-12-13T00:00:00Z
+
+
org.apache.arrow
diff --git a/java/dataset/pom.xml b/java/dataset/pom.xml
index 43b913167390f..7f784cb1a1b0f 100644
--- a/java/dataset/pom.xml
+++ b/java/dataset/pom.xml
@@ -24,6 +24,7 @@
Java implementation of Arrow Dataset API/Framework
jar
+ 2023-12-13T00:00:00Z
../../../cpp/release-build/
2.5.0
1.13.1
diff --git a/java/flight/flight-core/pom.xml b/java/flight/flight-core/pom.xml
index 830caf8a28246..5a006ec2c7344 100644
--- a/java/flight/flight-core/pom.xml
+++ b/java/flight/flight-core/pom.xml
@@ -24,6 +24,7 @@
jar
+ 2023-12-13T00:00:00Z
1
@@ -288,7 +289,7 @@
maven-assembly-plugin
- 3.0.0
+ 3.2.0
jar-with-dependencies
diff --git a/java/flight/flight-integration-tests/pom.xml b/java/flight/flight-integration-tests/pom.xml
index 905c8bdaf013b..2401f1b985462 100644
--- a/java/flight/flight-integration-tests/pom.xml
+++ b/java/flight/flight-integration-tests/pom.xml
@@ -24,6 +24,10 @@
Integration tests for Flight RPC.
jar
+
+ 2023-12-13T00:00:00Z
+
+
org.apache.arrow
@@ -64,7 +68,7 @@
maven-assembly-plugin
- 3.0.0
+ 3.2.0
jar-with-dependencies
diff --git a/java/flight/flight-sql-jdbc-core/pom.xml b/java/flight/flight-sql-jdbc-core/pom.xml
index 20996d7496c05..2072465a24749 100644
--- a/java/flight/flight-sql-jdbc-core/pom.xml
+++ b/java/flight/flight-sql-jdbc-core/pom.xml
@@ -28,6 +28,7 @@
https://arrow.apache.org
+ 2023-12-13T00:00:00Z
${project.parent.groupId}:${project.parent.artifactId}
${project.parent.version}
${project.name}
diff --git a/java/flight/flight-sql-jdbc-driver/pom.xml b/java/flight/flight-sql-jdbc-driver/pom.xml
index 53d929afa781c..59b3901c1b2a9 100644
--- a/java/flight/flight-sql-jdbc-driver/pom.xml
+++ b/java/flight/flight-sql-jdbc-driver/pom.xml
@@ -27,6 +27,10 @@
jar
https://arrow.apache.org
+
+ 2023-12-13T00:00:00Z
+
+
diff --git a/java/flight/flight-sql/pom.xml b/java/flight/flight-sql/pom.xml
index 1da6ed276011b..225e7bac43f89 100644
--- a/java/flight/flight-sql/pom.xml
+++ b/java/flight/flight-sql/pom.xml
@@ -24,6 +24,7 @@
jar
+ 2023-12-13T00:00:00Z
1
diff --git a/java/format/pom.xml b/java/format/pom.xml
index a98edefbeb217..0396136b64908 100644
--- a/java/format/pom.xml
+++ b/java/format/pom.xml
@@ -23,6 +23,10 @@
Arrow Format
Generated Java files from the IPC Flatbuffer definitions.
+
+ 2023-12-13T00:00:00Z
+
+
com.google.flatbuffers
diff --git a/java/gandiva/pom.xml b/java/gandiva/pom.xml
index 0d2a23345f6ea..e22c548574281 100644
--- a/java/gandiva/pom.xml
+++ b/java/gandiva/pom.xml
@@ -23,6 +23,7 @@
Arrow Gandiva
Java wrappers around the native Gandiva SQL expression compiler.
+ 2023-12-13T00:00:00Z
1.8
1.8
3.25.1
diff --git a/java/maven/module-info-compiler-maven-plugin/pom.xml b/java/maven/module-info-compiler-maven-plugin/pom.xml
index 6881018933d3f..df3aa9db820ab 100644
--- a/java/maven/module-info-compiler-maven-plugin/pom.xml
+++ b/java/maven/module-info-compiler-maven-plugin/pom.xml
@@ -30,6 +30,7 @@
+ 2023-12-13T00:00:00Z
3.8.7
diff --git a/java/memory/memory-core/pom.xml b/java/memory/memory-core/pom.xml
index 2a92d032942c9..7daa9ce2b6569 100644
--- a/java/memory/memory-core/pom.xml
+++ b/java/memory/memory-core/pom.xml
@@ -22,6 +22,10 @@
Arrow Memory - Core
Core off-heap memory management libraries for Arrow ValueVectors.
+
+ 2023-12-13T00:00:00Z
+
+
com.google.code.findbugs
diff --git a/java/memory/memory-netty/pom.xml b/java/memory/memory-netty/pom.xml
index 9b20e1bde2ae7..ac3d83623f246 100644
--- a/java/memory/memory-netty/pom.xml
+++ b/java/memory/memory-netty/pom.xml
@@ -21,6 +21,10 @@
Arrow Memory - Netty
Netty allocator and utils for allocating memory in Arrow
+
+ 2023-12-13T00:00:00Z
+
+
org.apache.arrow
diff --git a/java/memory/memory-unsafe/pom.xml b/java/memory/memory-unsafe/pom.xml
index 07a140e594522..1add3dc35564a 100644
--- a/java/memory/memory-unsafe/pom.xml
+++ b/java/memory/memory-unsafe/pom.xml
@@ -21,6 +21,9 @@
Arrow Memory - Unsafe
Allocator and utils for allocating memory in Arrow based on sun.misc.Unsafe
+
+ 2023-12-13T00:00:00Z
+
diff --git a/java/performance/pom.xml b/java/performance/pom.xml
index 3f69be32a20e5..148b1f8a9a76a 100644
--- a/java/performance/pom.xml
+++ b/java/performance/pom.xml
@@ -80,6 +80,7 @@
+ 2023-12-13T00:00:00Z
UTF-8
1.37
1.8
diff --git a/java/pom.xml b/java/pom.xml
index b05b2d8f1425a..e9a485c14b63a 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -15,7 +15,7 @@
org.apache
apache
- 18
+ 31
org.apache.arrow
@@ -28,6 +28,7 @@
https://arrow.apache.org/
+ 3.5.0
${project.build.directory}/generated-sources
1.9.0
5.10.2
@@ -446,6 +447,13 @@
maven-enforcer-plugin
3.4.1
+
+
+
+ [3.3.0,4)
+
+
+
org.apache.maven.plugins
diff --git a/java/tools/pom.xml b/java/tools/pom.xml
index 0688fae1ab78c..d3d31ca29ed1a 100644
--- a/java/tools/pom.xml
+++ b/java/tools/pom.xml
@@ -20,6 +20,10 @@
Arrow Tools
Java applications for working with Arrow ValueVectors.
+
+ 2023-12-13T00:00:00Z
+
+
org.apache.arrow
@@ -85,7 +89,7 @@
maven-assembly-plugin
- 3.0.0
+ 3.2.0
jar-with-dependencies
diff --git a/java/vector/pom.xml b/java/vector/pom.xml
index 5cd6d0a00fcca..5b8890e25c728 100644
--- a/java/vector/pom.xml
+++ b/java/vector/pom.xml
@@ -20,8 +20,11 @@
Arrow Vectors
An off-heap reference implementation for Arrow columnar data format.
-
+
+ 2023-12-13T00:00:00Z
+
+
org.apache.arrow
arrow-format