diff --git a/.github/workflows/codeql-java-analysis.yml b/.github/workflows/codeql-java-analysis.yml
index b7668b497fd..045c461defe 100644
--- a/.github/workflows/codeql-java-analysis.yml
+++ b/.github/workflows/codeql-java-analysis.yml
@@ -75,15 +75,14 @@ jobs:
with:
distribution: 'temurin'
java-version: |
- 8
11
17
21
- - name: 'Setup Maven 3.9.11'
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ - name: 'Setup Maven 3.9.15'
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.11
+ maven-version: 3.9.15
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml
index f456026f505..d48224c58da 100644
--- a/.github/workflows/deploy-docs.yml
+++ b/.github/workflows/deploy-docs.yml
@@ -146,9 +146,9 @@ jobs:
${{ runner.os }}-maven-
- name: 'Setup Maven'
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.9
+ maven-version: 3.9.15
- name: Setup Temurin JDK
uses: actions/setup-java@v5
diff --git a/.github/workflows/java-publish-snapshot.yml b/.github/workflows/java-publish-snapshot.yml
index c20d218e19e..33af089f1a7 100644
--- a/.github/workflows/java-publish-snapshot.yml
+++ b/.github/workflows/java-publish-snapshot.yml
@@ -48,15 +48,14 @@ jobs:
with:
distribution: 'temurin'
java-version: |
- 8
11
17
21
- name: 'Setup Maven'
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.8
+ maven-version: 3.9.15
- name: 'Deploy Maven snapshots'
env:
diff --git a/.github/workflows/maven4.yml b/.github/workflows/maven4.yml
index f19c6dcd355..ebc39e0de02 100644
--- a/.github/workflows/maven4.yml
+++ b/.github/workflows/maven4.yml
@@ -55,15 +55,14 @@ jobs:
with:
distribution: 'temurin'
java-version: |
- 8
11
17
21
- name: Setup Maven 4
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 4.0.0-alpha-10
+ maven-version: 4.0.0-rc-5
- name: Test
run: mvn clean verify
diff --git a/.github/workflows/rat.yml b/.github/workflows/rat.yml
index 96a9c0ec915..eb55f98f31d 100644
--- a/.github/workflows/rat.yml
+++ b/.github/workflows/rat.yml
@@ -44,15 +44,14 @@ jobs:
with:
distribution: 'temurin'
java-version: |
- 8
11
17
21
- - name: 'Setup Maven 3.9.11'
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ - name: 'Setup Maven 3.9.15'
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.11
+ maven-version: 3.9.15
- name: Run Rat
run: mvn test -Dmaven.main.skip=true -Dmaven.test.skip=true -DskipTests=true -Dinvoker.skip=true -P rat -pl :avro-toplevel
diff --git a/.github/workflows/spotless.yml b/.github/workflows/spotless.yml
index 2b4f8bdedf8..fec7cbdc335 100644
--- a/.github/workflows/spotless.yml
+++ b/.github/workflows/spotless.yml
@@ -47,15 +47,14 @@ jobs:
with:
distribution: 'temurin'
java-version: |
- 8
11
17
21
- - name: 'Setup Maven 3.9.11'
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ - name: 'Setup Maven 3.9.15'
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.11
+ maven-version: 3.9.15
- name: Run Spotless Check
run: mvn spotless:check
diff --git a/.github/workflows/test-lang-c.yml b/.github/workflows/test-lang-c.yml
index e3afece7c55..4687ec32987 100644
--- a/.github/workflows/test-lang-c.yml
+++ b/.github/workflows/test-lang-c.yml
@@ -73,15 +73,14 @@ jobs:
with:
distribution: 'temurin'
java-version: |
- 8
11
17
21
- - name: 'Setup Maven 3.9.11'
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ - name: 'Setup Maven 3.9.15'
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.11
+ maven-version: 3.9.15
- name: Install Java Avro for Interop Test
working-directory: .
@@ -133,15 +132,14 @@ jobs:
with:
distribution: 'temurin'
java-version: |
- 8
11
17
21
- - name: 'Setup Maven 3.9.11'
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ - name: 'Setup Maven 3.9.15'
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.11
+ maven-version: 3.9.15
- name: Install Java Avro for Interop Test
working-directory: .
diff --git a/.github/workflows/test-lang-csharp.yml b/.github/workflows/test-lang-csharp.yml
index af5ddbc8e0c..98f06e684d5 100644
--- a/.github/workflows/test-lang-csharp.yml
+++ b/.github/workflows/test-lang-csharp.yml
@@ -103,15 +103,14 @@ jobs:
with:
distribution: 'temurin'
java-version: |
- 8
11
17
21
- - name: 'Setup Maven 3.9.11'
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ - name: 'Setup Maven 3.9.15'
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.11
+ maven-version: 3.9.15
- name: Install Java Avro for Interop Test
working-directory: .
diff --git a/.github/workflows/test-lang-java.yml b/.github/workflows/test-lang-java.yml
index 97d5111692f..7c6e9fb37f9 100644
--- a/.github/workflows/test-lang-java.yml
+++ b/.github/workflows/test-lang-java.yml
@@ -63,10 +63,10 @@ jobs:
17
21
- - name: "Setup Maven 3.9.11"
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ - name: "Setup Maven 3.9.15"
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.11
+ maven-version: 3.9.15
- name: "Install Java Avro Toplevel"
working-directory: ./
@@ -115,10 +115,10 @@ jobs:
17
21
- - name: "Setup Maven 3.9.11"
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ - name: "Setup Maven 3.9.15"
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.11
+ maven-version: 3.9.15
- name: "Setup Python for Generating Input Data"
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
diff --git a/.github/workflows/test-lang-perl.yml b/.github/workflows/test-lang-perl.yml
index b92a13f1855..bb585cbb844 100644
--- a/.github/workflows/test-lang-perl.yml
+++ b/.github/workflows/test-lang-perl.yml
@@ -118,15 +118,14 @@ jobs:
with:
distribution: 'temurin'
java-version: |
- 8
11
17
21
- - name: 'Setup Maven 3.9.11'
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ - name: 'Setup Maven 3.9.15'
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.11
+ maven-version: 3.9.15
- name: Install Java Avro for Interop Test
working-directory: .
diff --git a/.github/workflows/test-lang-php.yml b/.github/workflows/test-lang-php.yml
index e8e56d25a46..d5014851105 100644
--- a/.github/workflows/test-lang-php.yml
+++ b/.github/workflows/test-lang-php.yml
@@ -114,15 +114,14 @@ jobs:
with:
distribution: 'temurin'
java-version: |
- 8
11
17
21
- - name: 'Setup Maven 3.9.11'
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ - name: 'Setup Maven 3.9.15'
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.11
+ maven-version: 3.9.15
- name: Install Java Avro for Interop Test
working-directory: .
diff --git a/.github/workflows/test-lang-py.yml b/.github/workflows/test-lang-py.yml
index 1db39c4e069..9bfc2a1cef9 100644
--- a/.github/workflows/test-lang-py.yml
+++ b/.github/workflows/test-lang-py.yml
@@ -132,15 +132,14 @@ jobs:
with:
distribution: "temurin"
java-version: |
- 8
11
17
21
- - name: "Setup Maven 3.9.11"
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ - name: "Setup Maven 3.9.15"
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.11
+ maven-version: 3.9.15
- name: Install Java Avro for Interop Test
working-directory: .
diff --git a/.github/workflows/test-lang-ruby.yml b/.github/workflows/test-lang-ruby.yml
index bf98f9ccb78..a07d26484d8 100644
--- a/.github/workflows/test-lang-ruby.yml
+++ b/.github/workflows/test-lang-ruby.yml
@@ -122,15 +122,14 @@ jobs:
with:
distribution: 'temurin'
java-version: |
- 8
11
17
21
- - name: 'Setup Maven 3.9.11'
- uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
+ - name: 'Setup Maven 3.9.15'
+ uses: stCarolas/setup-maven@v5
with:
- maven-version: 3.9.11
+ maven-version: 3.9.15
- name: Install Java Avro for Interop Test
working-directory: .
diff --git a/.mvn/build-cache-config.xml b/.mvn/build-cache-config.xml
new file mode 100644
index 00000000000..422f7fe031a
--- /dev/null
+++ b/.mvn/build-cache-config.xml
@@ -0,0 +1,75 @@
+
+
+
+
+ true
+ SHA-256
+ true
+
+ 3
+
+
+
+
+
+
+ {*.java,*.groovy,*.yaml,*.svcd,*.proto,*assembly.xml,assembly*.xml,*logback.xml,*.vm,*.ini,*.jks,*.properties,*.sh,*.bat}
+
+
+ src/
+
+
+ pom.xml
+
+
+
+
+
+
+
+
+ install
+
+
+
+
+ deploy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml
index e2e84018d96..f1d20a28816 100644
--- a/.mvn/extensions.xml
+++ b/.mvn/extensions.xml
@@ -20,6 +20,6 @@
org.apache.maven.extensions
maven-build-cache-extension
- 1.0.1
+ 1.2.2
diff --git a/BUILD.md b/BUILD.md
index 217630b625d..b361fd37eb3 100644
--- a/BUILD.md
+++ b/BUILD.md
@@ -4,7 +4,7 @@
The following packages must be installed before Avro can be built:
- - Java: 11, 17 and 21 with the appropriate toolchain config, Maven 3.9.6 or better, protobuf-compile
+ - Java: 11, 17 and 21 with the appropriate toolchain config, Maven 3.9.15 or better, protobuf-compile
- PHP: php8, phpunit, php8-gmp
- Python 3: 3.10 or greater, tox (tox will install other dependencies as needed)
- C: gcc, cmake, asciidoc, source-highlight, Jansson, pkg-config
diff --git a/lang/java/avro/pom.xml b/lang/java/avro/pom.xml
index 8cab8b75f5c..5101d5c4320 100644
--- a/lang/java/avro/pom.xml
+++ b/lang/java/avro/pom.xml
@@ -88,9 +88,6 @@
org.apache.maven.plugins
maven-surefire-plugin
-
- none
-
test-with-custom-coders
diff --git a/lang/java/compiler/pom.xml b/lang/java/compiler/pom.xml
index be3163cac0a..fb1b56cbe97 100644
--- a/lang/java/compiler/pom.xml
+++ b/lang/java/compiler/pom.xml
@@ -109,10 +109,6 @@
org.apache.maven.plugins
maven-surefire-plugin
-
- 1
- false
- none
${project.basedir}/src/test/idl
diff --git a/lang/java/ipc-jetty/pom.xml b/lang/java/ipc-jetty/pom.xml
index fdc2a258bdc..d847602d603 100644
--- a/lang/java/ipc-jetty/pom.xml
+++ b/lang/java/ipc-jetty/pom.xml
@@ -50,10 +50,8 @@
org.apache.maven.plugins
maven-surefire-plugin
-
1
false
- none
diff --git a/lang/java/ipc-netty/pom.xml b/lang/java/ipc-netty/pom.xml
index 420a96116b6..39e7449e06c 100644
--- a/lang/java/ipc-netty/pom.xml
+++ b/lang/java/ipc-netty/pom.xml
@@ -51,10 +51,8 @@
org.apache.maven.plugins
maven-surefire-plugin
-
1
false
- none
diff --git a/lang/java/ipc/pom.xml b/lang/java/ipc/pom.xml
index 6f5fb359df9..65096c5aede 100644
--- a/lang/java/ipc/pom.xml
+++ b/lang/java/ipc/pom.xml
@@ -58,10 +58,8 @@
org.apache.maven.plugins
maven-surefire-plugin
-
1
false
- none
diff --git a/lang/java/mapred/pom.xml b/lang/java/mapred/pom.xml
index 91982cfd110..9ffb4097b25 100644
--- a/lang/java/mapred/pom.xml
+++ b/lang/java/mapred/pom.xml
@@ -88,10 +88,6 @@
org.apache.maven.plugins
maven-surefire-plugin
-
- 1
- false
- none
-Djava.security.manager=allow
diff --git a/lang/java/pom.xml b/lang/java/pom.xml
index f6d04ccc9e9..89c2507a28a 100644
--- a/lang/java/pom.xml
+++ b/lang/java/pom.xml
@@ -49,7 +49,7 @@
9.4.58.v20250814
5.0.4
5.14.4
- 3.9.6
+ 3.9.15
5.23.0
4.2.12.Final
4.34.1
@@ -179,6 +179,7 @@
false
false
random
+ 1C
all
true
diff --git a/lang/java/tools/pom.xml b/lang/java/tools/pom.xml
index 50f1bae2a8b..3581428e2dc 100644
--- a/lang/java/tools/pom.xml
+++ b/lang/java/tools/pom.xml
@@ -161,10 +161,6 @@
org.apache.maven.plugins
maven-surefire-plugin
-
- 1
- false
- none
-Djava.security.manager=allow
diff --git a/lang/java/trevni/pom.xml b/lang/java/trevni/pom.xml
index 64fd16c10f6..12b326a1ec8 100644
--- a/lang/java/trevni/pom.xml
+++ b/lang/java/trevni/pom.xml
@@ -51,10 +51,6 @@
maven-surefire-plugin
false
-
- 1
- false
- none
-Djava.security.manager=allow
diff --git a/pom.xml b/pom.xml
index 46d91f21c1f..5cbd17b9e46 100644
--- a/pom.xml
+++ b/pom.xml
@@ -250,7 +250,7 @@
21
- [3.9.6,)
+ [3.9.15,)
diff --git a/share/docker/Dockerfile b/share/docker/Dockerfile
index 5932e5be7b1..6f87fe74d82 100644
--- a/share/docker/Dockerfile
+++ b/share/docker/Dockerfile
@@ -72,7 +72,7 @@ RUN apt-get -qqy update \
# Install a maven release -------------------------------------------
# Inspired from https://github.com/apache/accumulo-docker/blob/bbb9892e165d40fb35fa19f38929effc5d0c709b/Dockerfile#L30
-ENV MAVEN_VERSION=3.9.11
+ENV MAVEN_VERSION=3.9.15
# Ideally we use the 1st URL only, but if the version is outdated (or we're grabbing the .asc file), we might have to pull from the dist/archive :/
ENV APACHE_DIST_URLS="https://www.apache.org/dyn/closer.cgi?action=download&filename= \
https://www-us.apache.org/dist/ \