diff --git a/.github/workflows/codeql-java-analysis.yml b/.github/workflows/codeql-java-analysis.yml index b7668b497fd..fb56ee54bbf 100644 --- a/.github/workflows/codeql-java-analysis.yml +++ b/.github/workflows/codeql-java-analysis.yml @@ -75,16 +75,10 @@ jobs: with: distribution: 'temurin' java-version: | - 8 11 17 21 - - name: 'Setup Maven 3.9.11' - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.11 - # 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) # - name: Autobuild diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index f456026f505..f7c2a440004 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -145,11 +145,6 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - - name: 'Setup Maven' - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.9 - - name: Setup Temurin JDK uses: actions/setup-java@v5 with: diff --git a/.github/workflows/java-publish-snapshot.yml b/.github/workflows/java-publish-snapshot.yml index c20d218e19e..111413f7af9 100644 --- a/.github/workflows/java-publish-snapshot.yml +++ b/.github/workflows/java-publish-snapshot.yml @@ -48,16 +48,10 @@ jobs: with: distribution: 'temurin' java-version: | - 8 11 17 21 - - name: 'Setup Maven' - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.8 - - name: 'Deploy Maven snapshots' env: ASF_USERNAME: ${{ secrets.NEXUS_USER }} diff --git a/.github/workflows/maven4.yml b/.github/workflows/maven4.yml index f19c6dcd355..a574bdc8a67 100644 --- a/.github/workflows/maven4.yml +++ b/.github/workflows/maven4.yml @@ -28,6 +28,9 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true +env: + MAVEN4_VERSION: '4.0.0-rc-5' + jobs: maven4: runs-on: ubuntu-latest @@ -50,20 +53,20 @@ jobs: restore-keys: | ${{ runner.os }}-maven-build-cache - - name: 'Setup Temurin JDK 8, 11, 17 & 21' + - name: 'Setup Temurin JDK 11, 17 & 21' uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: | - 8 11 17 21 - name: Setup Maven 4 - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 4.0.0-alpha-10 + run: | + wget -q https://archive.apache.org/dist/maven/maven-4/${{ env.MAVEN4_VERSION }}/binaries/apache-maven-${{ env.MAVEN4_VERSION }}-bin.tar.gz + tar xzf apache-maven-${{ env.MAVEN4_VERSION }}-bin.tar.gz -C /opt + echo "/opt/apache-maven-${{ env.MAVEN4_VERSION }}/bin" >> $GITHUB_PATH - name: Test run: mvn clean verify diff --git a/.github/workflows/rat.yml b/.github/workflows/rat.yml index 96a9c0ec915..ec952a9d1a9 100644 --- a/.github/workflows/rat.yml +++ b/.github/workflows/rat.yml @@ -44,15 +44,9 @@ jobs: with: distribution: 'temurin' java-version: | - 8 11 17 21 - - name: 'Setup Maven 3.9.11' - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.11 - - 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..06cc7e2bd19 100644 --- a/.github/workflows/spotless.yml +++ b/.github/workflows/spotless.yml @@ -47,15 +47,9 @@ jobs: with: distribution: 'temurin' java-version: | - 8 11 17 21 - - name: 'Setup Maven 3.9.11' - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.11 - - 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..c9f0cdeea00 100644 --- a/.github/workflows/test-lang-c.yml +++ b/.github/workflows/test-lang-c.yml @@ -73,16 +73,10 @@ jobs: with: distribution: 'temurin' java-version: | - 8 11 17 21 - - name: 'Setup Maven 3.9.11' - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.11 - - name: Install Java Avro for Interop Test working-directory: . run: mvn -B install -PskipQuality @@ -133,16 +127,10 @@ jobs: with: distribution: 'temurin' java-version: | - 8 11 17 21 - - name: 'Setup Maven 3.9.11' - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.11 - - name: Install Java Avro for Interop Test working-directory: . run: mvn -B install -PskipQuality diff --git a/.github/workflows/test-lang-csharp.yml b/.github/workflows/test-lang-csharp.yml index af5ddbc8e0c..47df0f56b78 100644 --- a/.github/workflows/test-lang-csharp.yml +++ b/.github/workflows/test-lang-csharp.yml @@ -103,16 +103,10 @@ jobs: with: distribution: 'temurin' java-version: | - 8 11 17 21 - - name: 'Setup Maven 3.9.11' - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.11 - - name: Install Java Avro for Interop Test working-directory: . run: mvn -B install -PskipQuality diff --git a/.github/workflows/test-lang-java.yml b/.github/workflows/test-lang-java.yml index 97d5111692f..4c3bf040dd3 100644 --- a/.github/workflows/test-lang-java.yml +++ b/.github/workflows/test-lang-java.yml @@ -63,11 +63,6 @@ jobs: 17 21 - - name: "Setup Maven 3.9.11" - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.11 - - name: "Install Java Avro Toplevel" working-directory: ./ run: mvn -B install -PskipQuality -DskipTests @@ -115,11 +110,6 @@ jobs: 17 21 - - name: "Setup Maven 3.9.11" - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.11 - - name: "Setup Python for Generating Input Data" uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: diff --git a/.github/workflows/test-lang-perl.yml b/.github/workflows/test-lang-perl.yml index b92a13f1855..998cf111587 100644 --- a/.github/workflows/test-lang-perl.yml +++ b/.github/workflows/test-lang-perl.yml @@ -118,16 +118,10 @@ jobs: with: distribution: 'temurin' java-version: | - 8 11 17 21 - - name: 'Setup Maven 3.9.11' - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.11 - - name: Install Java Avro for Interop Test working-directory: . run: mvn -B install -PskipQuality diff --git a/.github/workflows/test-lang-php.yml b/.github/workflows/test-lang-php.yml index 4359f609dd6..c894f8bd081 100644 --- a/.github/workflows/test-lang-php.yml +++ b/.github/workflows/test-lang-php.yml @@ -114,16 +114,10 @@ jobs: with: distribution: 'temurin' java-version: | - 8 11 17 21 - - name: 'Setup Maven 3.9.11' - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.11 - - name: Install Java Avro for Interop Test working-directory: . run: mvn -B install -PskipQuality diff --git a/.github/workflows/test-lang-py.yml b/.github/workflows/test-lang-py.yml index 1db39c4e069..363d15fb22b 100644 --- a/.github/workflows/test-lang-py.yml +++ b/.github/workflows/test-lang-py.yml @@ -132,16 +132,10 @@ jobs: with: distribution: "temurin" java-version: | - 8 11 17 21 - - name: "Setup Maven 3.9.11" - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.11 - - name: Install Java Avro for Interop Test working-directory: . run: mvn -B install -PskipQuality diff --git a/.github/workflows/test-lang-ruby.yml b/.github/workflows/test-lang-ruby.yml index bf98f9ccb78..1a23690458e 100644 --- a/.github/workflows/test-lang-ruby.yml +++ b/.github/workflows/test-lang-ruby.yml @@ -122,16 +122,10 @@ jobs: with: distribution: 'temurin' java-version: | - 8 11 17 21 - - name: 'Setup Maven 3.9.11' - uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 - with: - maven-version: 3.9.11 - - name: Install Java Avro for Interop Test working-directory: . run: mvn -B install -PskipQuality diff --git a/.gitignore b/.gitignore index 437a035f0b3..c8da8c02c3c 100644 --- a/.gitignore +++ b/.gitignore @@ -28,5 +28,6 @@ test-output vendor composer.lock .phpunit.result.cache -.mvn/jvm.config # Maven JVM settings +.mvn/jvm.config # Maven JVM settings +.mvn/maven.config # Local Maven settings **/*.run.xml # Intellij IDEA Run configurations 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..a6021ac97bd 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.12 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 cc6940132a0..b02662eed1f 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.14 5.23.0 4.2.14.Final 4.35.0 @@ -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 2b94296637c..b916c9915c1 100644 --- a/pom.xml +++ b/pom.xml @@ -250,7 +250,7 @@ 21 - [3.9.6,) + [3.9.12,) diff --git a/share/docker/Dockerfile b/share/docker/Dockerfile index 5932e5be7b1..3e3d3d3e7d4 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.12 # 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/ \