diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 8434542915d6..16a2487bb8e6 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -40,8 +40,8 @@ If you have any questions, please don't hesitate to contact
Requirements to compile the code:
* Unix System
-* JDK 17 or later; client modules can be built with JDK 8
-* Maven 3.6.3 or later
+* JDK 17 or later
+* Maven 3.9.6 or later
* Internet connection for first build (to fetch all Maven and Ozone dependencies)
(Standard development tools such as make, gcc, etc. are required.)
diff --git a/hadoop-hdds/interface-admin/pom.xml b/hadoop-hdds/interface-admin/pom.xml
index 0f2adece807f..999079189e0a 100644
--- a/hadoop-hdds/interface-admin/pom.xml
+++ b/hadoop-hdds/interface-admin/pom.xml
@@ -58,18 +58,18 @@
- org.xolstice.maven.plugins
+ io.github.ascopes
protobuf-maven-plugin
compile-proto-${protobuf.version}
- compile
- test-compile
+ generate
- com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
- false
+
+ ${protobuf.version}
+
diff --git a/hadoop-hdds/interface-client/pom.xml b/hadoop-hdds/interface-client/pom.xml
index 62e77a6fff49..1c2a61a2eb3e 100644
--- a/hadoop-hdds/interface-client/pom.xml
+++ b/hadoop-hdds/interface-client/pom.xml
@@ -63,41 +63,45 @@
- org.xolstice.maven.plugins
+ io.github.ascopes
protobuf-maven-plugin
compile-proto-for-ratis
- compile
- test-compile
- compile-custom
- test-compile-custom
+ generate
- com.google.protobuf:protoc:${ratis-thirdparty.protobuf.version}:exe:${os.detected.classifier}
+
+ ${ratis-thirdparty.protobuf.version}
+
DatanodeClientProtocol.proto
+ false
target/generated-sources/proto-java-for-ratis
- false
- grpc-java
- io.grpc:protoc-gen-grpc-java:${ratis-thirdparty.grpc.version}:exe:${os.detected.classifier}
+
+
+ io.grpc
+ protoc-gen-grpc-java
+ ${ratis-thirdparty.grpc.version}
+
+
compile-proto-${protobuf.version}
- compile
- test-compile
+ generate
- com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
+
+ ${protobuf.version}
+
DatanodeClientProtocol.proto
target/generated-sources/proto-java-for-protobuf-${protobuf.version}
- false
diff --git a/hadoop-hdds/interface-server/pom.xml b/hadoop-hdds/interface-server/pom.xml
index cae5f01b9d37..67c9b1a74158 100644
--- a/hadoop-hdds/interface-server/pom.xml
+++ b/hadoop-hdds/interface-server/pom.xml
@@ -68,45 +68,49 @@
- org.xolstice.maven.plugins
+ io.github.ascopes
protobuf-maven-plugin
compile-proto-for-ratis
- compile
- test-compile
- compile-custom
- test-compile-custom
+ generate
- com.google.protobuf:protoc:${ratis-thirdparty.protobuf.version}:exe:${os.detected.classifier}
+
+ ${ratis-thirdparty.protobuf.version}
+
InterSCMProtocol.proto
SCMUpdateProtocol.proto
SCMRatisProtocol.proto
+ false
target/generated-sources/proto-java-for-ratis
- false
- grpc-java
- io.grpc:protoc-gen-grpc-java:${ratis-thirdparty.grpc.version}:exe:${os.detected.classifier}
+
+
+ io.grpc
+ protoc-gen-grpc-java
+ ${ratis-thirdparty.grpc.version}
+
+
compile-proto-${protobuf.version}
- compile
- test-compile
+ generate
- com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
+
+ ${protobuf.version}
+
InterSCMProtocol.proto
SCMUpdateProtocol.proto
SCMRatisProtocol.proto
target/generated-sources/proto-java-for-protobuf-${protobuf.version}
- false
diff --git a/hadoop-hdds/server-scm/pom.xml b/hadoop-hdds/server-scm/pom.xml
index df93d30d142d..16b1b6a4a332 100644
--- a/hadoop-hdds/server-scm/pom.xml
+++ b/hadoop-hdds/server-scm/pom.xml
@@ -323,16 +323,18 @@
- org.xolstice.maven.plugins
+ io.github.ascopes
protobuf-maven-plugin
- com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
+
+ ${protobuf.version}
+
compile-test-protobuf
- test-compile
+ generate-test
generate-test-sources
diff --git a/hadoop-ozone/interface-client/pom.xml b/hadoop-ozone/interface-client/pom.xml
index 7772c41f9aac..b04bf34a6b6b 100644
--- a/hadoop-ozone/interface-client/pom.xml
+++ b/hadoop-ozone/interface-client/pom.xml
@@ -101,23 +101,26 @@
- org.xolstice.maven.plugins
+ io.github.ascopes
protobuf-maven-plugin
compile-proto-${protobuf.version}
- compile
- test-compile
- compile-custom
- test-compile-custom
+ generate
- com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
+
+ ${protobuf.version}
+
target/generated-sources/proto-java-protobuf-${protobuf.version}
- false
- grpc-java
- io.grpc:protoc-gen-grpc-java:${io.grpc.version}:exe:${os.detected.classifier}
+
+
+ io.grpc
+ protoc-gen-grpc-java
+ ${io.grpc.version}
+
+
diff --git a/hadoop-ozone/interface-storage/pom.xml b/hadoop-ozone/interface-storage/pom.xml
index 3c2989038f6e..baeedcd313b7 100644
--- a/hadoop-ozone/interface-storage/pom.xml
+++ b/hadoop-ozone/interface-storage/pom.xml
@@ -99,17 +99,18 @@
- org.xolstice.maven.plugins
+ io.github.ascopes
protobuf-maven-plugin
compile-proto-${protobuf.version}
- compile
- test-compile
+ generate
- com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
+
+ ${protobuf.version}
+
diff --git a/pom.xml b/pom.xml
index 8e76eef84bec..bd37a7f5a531 100644
--- a/pom.xml
+++ b/pom.xml
@@ -76,7 +76,7 @@
https://repository.apache.org/service/local/staging/deploy/maven2
2.1.0
3.2.6
- [3.6.3,)
+ [3.9.6,)
2.29.2
2.42.0
@@ -183,7 +183,7 @@
0.16.0
1.3.1
1.0.7
- 0.6.1
+ 5.1.11
3.25.9
2.9.0
@@ -1973,6 +1973,9 @@
${maven-enforcer-plugin.version}
+
+ ${ozone.java.version.server}
+
${enforced.maven.version}
@@ -2277,10 +2280,9 @@
${jdeb.version}
- org.xolstice.maven.plugins
+ io.github.ascopes
protobuf-maven-plugin
${protobuf-maven-plugin.version}
- true