This is an automated email from the ASF dual-hosted git repository.
jshao pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/main by this push:
new a02fdd0e4c [#7922] feat (server): Client-related releases jars
compatible with JDK 8 (#7877)
a02fdd0e4c is described below
commit a02fdd0e4c5c48292d6f36a16cee38cb772e95ab
Author: Yuhui <[email protected]>
AuthorDate: Tue Aug 26 15:38:25 2025 +0800
[#7922] feat (server): Client-related releases jars compatible with JDK 8
(#7877)
### What changes were proposed in this pull request?
Make client-related releases jars compatible with JDK 8
### Why are the changes needed?
Fix: #7922
### Does this PR introduce _any_ user-facing change?
Yes, Client and common modules support JDK8 runtime
### How was this patch tested?
UT and IT
---
.github/workflows/build.yml | 3 +-
build.gradle.kts | 96 +++++++++++++++++-----
bundles/aliyun/build.gradle.kts | 6 +-
bundles/aws/build.gradle.kts | 6 +-
bundles/azure/build.gradle.kts | 5 +-
bundles/gcp/build.gradle.kts | 7 +-
catalogs/catalog-common/build.gradle.kts | 2 +
.../credential/config/AzureCredentialConfig.java | 0
.../credential/config/GCSCredentialConfig.java | 0
.../credential/config/OSSCredentialConfig.java | 0
.../credential/config/S3CredentialConfig.java | 0
clients/client-java/build.gradle.kts | 4 +-
common/build.gradle.kts | 2 +
.../src/main/java/org/apache/gravitino/Config.java | 0
.../org/apache/gravitino/config/ConfigBuilder.java | 0
.../apache/gravitino/config/ConfigConstants.java | 0
.../org/apache/gravitino/config/ConfigEntry.java | 0
.../gravitino/credential/CredentialContext.java | 0
.../gravitino/credential/CredentialProvider.java | 0
.../credential/PathBasedCredentialContext.java | 17 ++++
dev/release/release-build.sh | 4 +-
docs/how-to-build.md | 26 ++----
flink-connector/flink/build.gradle.kts | 4 -
gradle.properties | 4 -
gradle/libs.versions.toml | 2 +
spark-connector/spark-common/build.gradle.kts | 4 +-
26 files changed, 129 insertions(+), 63 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index fa22041983..c04e90f5c3 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -63,7 +63,8 @@ jobs:
cache: 'gradle'
- name: Build with Gradle
- run: ./gradlew build -x test -PjdkVersion=8
+ run: |
+ ./gradlew release -x test
# To check the spark-connector is compatible with scala2.13
spark-connector-build:
diff --git a/build.gradle.kts b/build.gradle.kts
index 0d4402670e..7e5d5c75b4 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -41,17 +41,13 @@ plugins {
alias(libs.plugins.gradle.extensions)
alias(libs.plugins.node) apply false
- // Spotless version < 6.19.0
(https://github.com/diffplug/spotless/issues/1819) has an issue
- // running against JDK21, but we cannot upgrade the spotless to 6.19.0 or
later since it only
- // support JDK11+. So we don't support JDK21 and thrown an exception for now.
- if (JavaVersion.current() >= JavaVersion.VERSION_1_8 &&
- JavaVersion.current() <= JavaVersion.VERSION_17
- ) {
+ // Spotless version < 6.19.0
(https://github.com/diffplug/spotless/issues/1819) has an issue running against
JDK21.
+ if (JavaVersion.current() == JavaVersion.VERSION_17) {
alias(libs.plugins.spotless)
} else {
throw GradleException(
"The Gravitino Gradle toolchain currently does not support " +
- "Java version ${JavaVersion.current()}. Please use JDK versions 8
through 17."
+ "Java version ${JavaVersion.current()}. Please use JDK version 17."
)
}
@@ -64,21 +60,12 @@ plugins {
alias(libs.plugins.errorprone)
}
-if (extra["jdkVersion"] !in listOf("8", "11", "17")) {
- throw GradleException(
- "The Gravitino Gradle toolchain currently does not support building with "
+
- "Java version ${extra["jdkVersion"]}. Please use JDK versions 8, 11 or
17."
- )
-}
-
val scalaVersion: String = project.properties["scalaVersion"] as? String ?:
extra["defaultScalaVersion"].toString()
if (scalaVersion !in listOf("2.12", "2.13")) {
throw GradleException("Scala version $scalaVersion is not supported.")
}
-project.extra["extraJvmArgs"] = if (extra["jdkVersion"] in listOf("8", "11")) {
- listOf()
-} else {
+project.extra["extraJvmArgs"] =
listOf(
"-XX:+IgnoreUnrecognizedVMOptions",
"--add-opens", "java.base/java.io=ALL-UNNAMED",
@@ -103,7 +90,6 @@ project.extra["extraJvmArgs"] = if (extra["jdkVersion"] in
listOf("8", "11")) {
"--add-opens", "java.base/sun.util.calendar=ALL-UNNAMED",
"--add-opens", "java.security.jgss/sun.security.krb5=ALL-UNNAMED"
)
-}
val pythonVersion: String = project.properties["pythonVersion"] as? String ?:
project.extra["pythonVersion"].toString()
project.extra["pythonVersion"] = pythonVersion
@@ -273,6 +259,64 @@ subprojects {
mavenLocal()
}
+ fun compatibleWithJDK8(project: Project): Boolean {
+ val isReleaseRun = gradle.startParameter.taskNames.any { it == "release"
|| it == "publish" || it == "publishToMavenLocal" }
+ if (!isReleaseRun) {
+ return false
+ }
+
+ val name = project.name.lowercase()
+ val path = project.path.lowercase()
+
+ if (path.startsWith(":client") ||
+ path.startsWith(":spark-connector") ||
+ path.startsWith(":flink-connector") ||
+ path.startsWith(":bundles")
+ ) {
+ return true
+ }
+
+ if (name == "api" || name == "common" ||
+ name == "catalog-common" || name == "hadoop-common"
+ ) {
+ return true
+ }
+
+ return false
+ }
+
+ tasks.register("printJvm") {
+ group = "help"
+ description = "print JVM information"
+
+ doLast {
+ val compileJvmVersion =
tasks.withType<JavaCompile>().firstOrNull()?.javaCompiler?.get()
+ ?.metadata?.languageVersion?.asInt() ?: "undefined"
+
+ val testJvmVersion =
tasks.withType<Test>().firstOrNull()?.javaLauncher?.get()
+ ?.metadata?.languageVersion?.asInt() ?: "undefined"
+
+ val testJvmArgs = tasks.withType<Test>().firstOrNull()?.jvmArgs ?:
listOf()
+
+ val targetJvmVersion = (java.targetCompatibility?.majorVersion ?:
"undefined")
+
+ val sourceJvmVersion = (java.sourceCompatibility?.majorVersion ?:
"undefined")
+
+ println(
+ """
+ |=== ${project.name} JVM information===
+ | project path: ${project.path}
+ | JVM for compile: $compileJvmVersion
+ | JVM for test: $testJvmVersion
+ | JVM test args: $testJvmArgs
+ | target JVM version: $targetJvmVersion
+ | source JVM version: $sourceJvmVersion
+ |==================================
+ """.trimMargin()
+ )
+ }
+ }
+
java {
toolchain {
// Some JDK vendors like Homebrew installed OpenJDK 17 have problems in
building trino-connector:
@@ -284,8 +328,12 @@ subprojects {
vendor.set(JvmVendorSpec.AMAZON)
}
languageVersion.set(JavaLanguageVersion.of(17))
+ } else if (compatibleWithJDK8(project)) {
+ languageVersion.set(JavaLanguageVersion.of(17))
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
} else {
-
languageVersion.set(JavaLanguageVersion.of(extra["jdkVersion"].toString().toInt()))
+ languageVersion.set(JavaLanguageVersion.of(17))
}
}
}
@@ -1022,3 +1070,13 @@ fun checkOrbStackStatus() {
}
printDockerCheckInfo()
+
+tasks.register("release") {
+ group = "release"
+ description = "Builds and package a release version."
+ doFirst {
+ println("Releasing project...")
+ }
+
+ dependsOn(subprojects.map { it.tasks.named("build") })
+}
diff --git a/bundles/aliyun/build.gradle.kts b/bundles/aliyun/build.gradle.kts
index ccf4378f9c..a79aa1ce04 100644
--- a/bundles/aliyun/build.gradle.kts
+++ b/bundles/aliyun/build.gradle.kts
@@ -26,13 +26,13 @@ plugins {
dependencies {
compileOnly(project(":api"))
- compileOnly(project(":catalogs:catalog-common"))
- compileOnly(project(":catalogs:catalog-fileset"))
- compileOnly(project(":core"))
compileOnly(libs.hadoop3.client.api)
compileOnly(libs.hadoop3.client.runtime)
compileOnly(libs.hadoop3.oss)
+ implementation(project(":common")) {
+ exclude("*")
+ }
implementation(project(":catalogs:catalog-common")) {
exclude("*")
}
diff --git a/bundles/aws/build.gradle.kts b/bundles/aws/build.gradle.kts
index c284839b01..b506847643 100644
--- a/bundles/aws/build.gradle.kts
+++ b/bundles/aws/build.gradle.kts
@@ -26,13 +26,13 @@ plugins {
dependencies {
compileOnly(project(":api"))
- compileOnly(project(":catalogs:catalog-common"))
- compileOnly(project(":catalogs:catalog-fileset"))
- compileOnly(project(":core"))
compileOnly(libs.hadoop3.aws)
compileOnly(libs.hadoop3.client.api)
compileOnly(libs.hadoop3.client.runtime)
+ implementation(project(":common")) {
+ exclude("*")
+ }
implementation(project(":catalogs:catalog-common")) {
exclude("*")
}
diff --git a/bundles/azure/build.gradle.kts b/bundles/azure/build.gradle.kts
index b03138628a..2bc0e1fa4c 100644
--- a/bundles/azure/build.gradle.kts
+++ b/bundles/azure/build.gradle.kts
@@ -26,12 +26,13 @@ plugins {
dependencies {
compileOnly(project(":api"))
- compileOnly(project(":catalogs:catalog-fileset"))
- compileOnly(project(":core"))
compileOnly(libs.hadoop3.abs)
compileOnly(libs.hadoop3.client.api)
compileOnly(libs.hadoop3.client.runtime)
+ implementation(project(":common")) {
+ exclude("*")
+ }
implementation(project(":catalogs:catalog-common")) {
exclude("*")
}
diff --git a/bundles/gcp/build.gradle.kts b/bundles/gcp/build.gradle.kts
index 61001ccab5..b7a78fcd84 100644
--- a/bundles/gcp/build.gradle.kts
+++ b/bundles/gcp/build.gradle.kts
@@ -26,14 +26,13 @@ plugins {
dependencies {
compileOnly(project(":api"))
- compileOnly(project(":catalogs:catalog-common"))
- compileOnly(project(":catalogs:catalog-fileset"))
- compileOnly(project(":core"))
-
compileOnly(libs.hadoop3.client.api)
compileOnly(libs.hadoop3.client.runtime)
compileOnly(libs.hadoop3.gcs)
+ implementation(project(":common")) {
+ exclude("*")
+ }
implementation(project(":catalogs:catalog-common")) {
exclude("*")
}
diff --git a/catalogs/catalog-common/build.gradle.kts
b/catalogs/catalog-common/build.gradle.kts
index 4cae8c530c..ff9451728d 100644
--- a/catalogs/catalog-common/build.gradle.kts
+++ b/catalogs/catalog-common/build.gradle.kts
@@ -23,8 +23,10 @@ plugins {
// try to avoid adding extra dependencies because it is used by catalogs and
connectors.
dependencies {
+ implementation(project(":common"))
implementation(libs.commons.lang3)
implementation(libs.guava)
+ implementation(libs.jakarta.validation.api)
implementation(libs.slf4j.api)
testImplementation(libs.junit.jupiter.api)
diff --git
a/core/src/main/java/org/apache/gravitino/credential/config/AzureCredentialConfig.java
b/catalogs/catalog-common/src/main/java/org/apache/gravitino/credential/config/AzureCredentialConfig.java
similarity index 100%
rename from
core/src/main/java/org/apache/gravitino/credential/config/AzureCredentialConfig.java
rename to
catalogs/catalog-common/src/main/java/org/apache/gravitino/credential/config/AzureCredentialConfig.java
diff --git
a/core/src/main/java/org/apache/gravitino/credential/config/GCSCredentialConfig.java
b/catalogs/catalog-common/src/main/java/org/apache/gravitino/credential/config/GCSCredentialConfig.java
similarity index 100%
rename from
core/src/main/java/org/apache/gravitino/credential/config/GCSCredentialConfig.java
rename to
catalogs/catalog-common/src/main/java/org/apache/gravitino/credential/config/GCSCredentialConfig.java
diff --git
a/core/src/main/java/org/apache/gravitino/credential/config/OSSCredentialConfig.java
b/catalogs/catalog-common/src/main/java/org/apache/gravitino/credential/config/OSSCredentialConfig.java
similarity index 100%
rename from
core/src/main/java/org/apache/gravitino/credential/config/OSSCredentialConfig.java
rename to
catalogs/catalog-common/src/main/java/org/apache/gravitino/credential/config/OSSCredentialConfig.java
diff --git
a/core/src/main/java/org/apache/gravitino/credential/config/S3CredentialConfig.java
b/catalogs/catalog-common/src/main/java/org/apache/gravitino/credential/config/S3CredentialConfig.java
similarity index 100%
rename from
core/src/main/java/org/apache/gravitino/credential/config/S3CredentialConfig.java
rename to
catalogs/catalog-common/src/main/java/org/apache/gravitino/credential/config/S3CredentialConfig.java
diff --git a/clients/client-java/build.gradle.kts
b/clients/client-java/build.gradle.kts
index 8ea315de98..e723d27638 100644
--- a/clients/client-java/build.gradle.kts
+++ b/clients/client-java/build.gradle.kts
@@ -24,7 +24,9 @@ plugins {
dependencies {
implementation(project(":api"))
- implementation(project(":common"))
+ implementation(project(":common")) {
+ exclude(group = "org.apache.logging.log4j")
+ }
implementation(libs.jackson.databind)
implementation(libs.jackson.annotations)
implementation(libs.jackson.datatype.jdk8)
diff --git a/common/build.gradle.kts b/common/build.gradle.kts
index adb93a389b..d86654c089 100644
--- a/common/build.gradle.kts
+++ b/common/build.gradle.kts
@@ -36,6 +36,8 @@ dependencies {
implementation(libs.jackson.datatype.jdk8)
implementation(libs.jackson.datatype.jsr310)
implementation(libs.jackson.databind)
+ implementation(libs.jakarta.validation.api)
+ implementation(libs.slf4j.api)
annotationProcessor(libs.lombok)
compileOnly(libs.lombok)
diff --git a/core/src/main/java/org/apache/gravitino/Config.java
b/common/src/main/java/org/apache/gravitino/Config.java
similarity index 100%
rename from core/src/main/java/org/apache/gravitino/Config.java
rename to common/src/main/java/org/apache/gravitino/Config.java
diff --git a/core/src/main/java/org/apache/gravitino/config/ConfigBuilder.java
b/common/src/main/java/org/apache/gravitino/config/ConfigBuilder.java
similarity index 100%
rename from core/src/main/java/org/apache/gravitino/config/ConfigBuilder.java
rename to common/src/main/java/org/apache/gravitino/config/ConfigBuilder.java
diff --git
a/core/src/main/java/org/apache/gravitino/config/ConfigConstants.java
b/common/src/main/java/org/apache/gravitino/config/ConfigConstants.java
similarity index 100%
rename from core/src/main/java/org/apache/gravitino/config/ConfigConstants.java
rename to common/src/main/java/org/apache/gravitino/config/ConfigConstants.java
diff --git a/core/src/main/java/org/apache/gravitino/config/ConfigEntry.java
b/common/src/main/java/org/apache/gravitino/config/ConfigEntry.java
similarity index 100%
rename from core/src/main/java/org/apache/gravitino/config/ConfigEntry.java
rename to common/src/main/java/org/apache/gravitino/config/ConfigEntry.java
diff --git
a/core/src/main/java/org/apache/gravitino/credential/CredentialContext.java
b/common/src/main/java/org/apache/gravitino/credential/CredentialContext.java
similarity index 100%
rename from
core/src/main/java/org/apache/gravitino/credential/CredentialContext.java
rename to
common/src/main/java/org/apache/gravitino/credential/CredentialContext.java
diff --git
a/core/src/main/java/org/apache/gravitino/credential/CredentialProvider.java
b/common/src/main/java/org/apache/gravitino/credential/CredentialProvider.java
similarity index 100%
rename from
core/src/main/java/org/apache/gravitino/credential/CredentialProvider.java
rename to
common/src/main/java/org/apache/gravitino/credential/CredentialProvider.java
diff --git
a/core/src/main/java/org/apache/gravitino/credential/PathBasedCredentialContext.java
b/common/src/main/java/org/apache/gravitino/credential/PathBasedCredentialContext.java
similarity index 85%
rename from
core/src/main/java/org/apache/gravitino/credential/PathBasedCredentialContext.java
rename to
common/src/main/java/org/apache/gravitino/credential/PathBasedCredentialContext.java
index 2c015b0c56..01da3e7520 100644
---
a/core/src/main/java/org/apache/gravitino/credential/PathBasedCredentialContext.java
+++
b/common/src/main/java/org/apache/gravitino/credential/PathBasedCredentialContext.java
@@ -34,6 +34,13 @@ public class PathBasedCredentialContext implements
CredentialContext {
@NotNull private final Set<String> readPaths;
@NotNull private final String userName;
+ /**
+ * Constructor for PathBasedCredentialContext.
+ *
+ * @param userName the name of the user
+ * @param writePaths the set of paths that the user can write to
+ * @param readPaths the set of paths that the user can read from
+ */
public PathBasedCredentialContext(
String userName, Set<String> writePaths, Set<String> readPaths) {
Preconditions.checkNotNull(userName, "User name should not be null");
@@ -49,10 +56,20 @@ public class PathBasedCredentialContext implements
CredentialContext {
return userName;
}
+ /**
+ * Get the set of paths that the user can write to.
+ *
+ * @return set of paths that the user can write to
+ */
public Set<String> getWritePaths() {
return writePaths;
}
+ /**
+ * Get the set of paths that the user can read from.
+ *
+ * @return set of paths that the user can read from
+ */
public Set<String> getReadPaths() {
return readPaths;
}
diff --git a/dev/release/release-build.sh b/dev/release/release-build.sh
index ffa5759049..6393480708 100755
--- a/dev/release/release-build.sh
+++ b/dev/release/release-build.sh
@@ -336,8 +336,8 @@ if [[ "$1" == "publish-release" ]]; then
cd ..
$GRADLE clean
- $GRADLE build -x test -PdefaultScalaVersion=2.12
- $GRADLE build -x test -PdefaultScalaVersion=2.13
+ $GRADLE release -x test -PdefaultScalaVersion=2.12
+ $GRADLE release -x test -PdefaultScalaVersion=2.13
$GRADLE -Dmaven.repo.local=$tmp_repo publishToMavenLocal
-PdefaultScalaVersion=2.12
$GRADLE -Dmaven.repo.local=$tmp_repo publishToMavenLocal
-PdefaultScalaVersion=2.13
diff --git a/docs/how-to-build.md b/docs/how-to-build.md
index d277c80938..7a9063d8ca 100644
--- a/docs/how-to-build.md
+++ b/docs/how-to-build.md
@@ -12,14 +12,14 @@ license: "This software is licensed under the Apache
License version 2."
+ Linux or macOS operating system
+ Git
-+ A Java Development Kit, version 8 to 17, installed in your environment to
launch Gradle
++ A Java Development Kit, version 17, installed in your environment to launch
Gradle
+ Python 3.8, 3.9, 3.10, 3.11, or 3.12 to build the Gravitino Python client
+ Optionally, Docker to run integration tests
:::info Please read the following notes before trying to build Gravitino.
-+ Gravitino requires a minimum of JDK8 and supports up to JDK17 to run Gradle,
so you need to install a JDK, version 8 to 17, to launch the build environment.
-+ Gravitino itself supports using JDK 8, 11, or 17 to build. The Gravitino
Trino connector uses JDK17 to build (to avoid vendor-related issues on some
platforms, Gravitino uses the specified Amazon Corretto OpenJDK 17 to build the
Trino connector on macOS).
++ Gravitino requires a minimum of JDK17 to run Gradle, so you need to install
a JDK17 to launch the build environment.
++ Gravitino itself supports using JDK 17 to build. The Gravitino Trino
connector uses JDK17 to build (to avoid vendor-related issues on some
platforms, It's recommended to use Amazon Corretto OpenJDK 17 to build
Gravitino on macOS).
You don't have to preinstall the specified JDK environment, as Gradle detects
the JDK version needed and downloads it automatically.
+ Gravitino uses the Gradle Java Toolchain to detect and manage JDK versions,
and it checks the installed JDK by running the `./gradlew javaToolchains`
command. See [Gradle Java
Toolchain](https://docs.gradle.org/current/userguide/toolchains.html#sec:java_toolchain).
+ Gravitino excludes all Docker-related tests by default. To run
Docker-related tests, make sure you have installed Docker in your environment
and either (1) set `skipDockerTests=false` in the `gradle.properties` file (or
use `-PskipDockerTests=false` in the command) or (2) `export
SKIP_DOCKER_TESTS=false` in the shell. Otherwise, all tests requiring Docker
will be skipped.
@@ -45,18 +45,6 @@ license: "This software is licensed under the Apache License
version 2."
./gradlew build
```
- The default specified JDK version is 8, but if you want to use JDK 11 or 17
to build, modify the property `jdkVersion` to 11 or 17 in the
`gradle.properties` file, or specify the version with `-P`, like:
-
- ```shell
- ./gradlew build -PjdkVersion=11
- ```
-
- Or:
-
- ```shell
- ./gradlew build -PjdkVersion=17
- ```
-
The `./gradlew build` command builds all the Gravitino components, including
the Gravitino server, Java and Python clients, Trino and Spark connectors, and
more.
For the Python client, the `./gradlew build` command builds the Python
client with Python 3.8 by default. If you want to use Python 3.9, 3.10, 3.11,
or 3.12 to build, please modify the property `pythonVersion` to 3.9, 3.10,
3.11, or 3.12 in the `gradle.properties` file, or specify the version with `-P`
like:
@@ -100,7 +88,7 @@ license: "This software is licensed under the Apache License
version 2."
You can add `-x test` to skip the tests using `./gradlew build -x test`.
- The built Gravitino libraries are Java 8 compatible and verified under the
Java 8, 11, and 17 environments. You can use Java 8, 11, or 17 runtimes to run
the Gravitino server, no matter which JDK version was used to build the project.
+ The built Gravitino libraries are Java 17 compatible and verified under 17
environments. You can use Java 17 runtimes to run the Gravitino server, no
matter which JDK version was used to build the project.
The built jars are under the modules `build/libs` directory. You can publish
them in your Maven repository for use in your project.
:::
@@ -177,7 +165,7 @@ sudo apt install apt-transport-https ca-certificates curl
software-properties-co
Updating the package list ensures you have the latest information on the
newest versions of packages and dependencies. Installing the necessary packages
lets your system download and manage additional software securely.
-### Download and setup Java SDK 17 (11 or 8 also works)
+### Download and setup Java SDK 17
**On Ubuntu (WSL):**
@@ -187,10 +175,10 @@ Updating the package list ensures you have the latest
information on the newest
vim ~/.bashrc
```
-2. Add the following lines at the end of the file. Replace
`/usr/lib/jvm/java-11-openjdk-amd64` with your actual Java installation path:
+2. Add the following lines at the end of the file. Replace
`/usr/lib/jvm/java-17-openjdk-amd64` with your actual Java installation path:
```sh
- export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
+ export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
export PATH=$PATH:$JAVA_HOME/bin
```
diff --git a/flink-connector/flink/build.gradle.kts
b/flink-connector/flink/build.gradle.kts
index 9afd51ed03..ae6f806f47 100644
--- a/flink-connector/flink/build.gradle.kts
+++ b/flink-connector/flink/build.gradle.kts
@@ -41,10 +41,6 @@ val scalaVersion: String = "2.12"
val artifactName =
"${rootProject.name}-flink-${flinkMajorVersion}_$scalaVersion"
dependencies {
- implementation(project(":core")) {
- exclude("org.apache.logging.log4j")
- exclude("org.opensearch.client")
- }
implementation(project(":catalogs:catalog-common")) {
exclude("org.apache.logging.log4j")
}
diff --git a/gradle.properties b/gradle.properties
index 69052f0c96..8a857ef685 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -29,10 +29,6 @@ version = 1.0.0-SNAPSHOT
SONATYPE_USER = admin
SONATYPE_PASSWORD = password
-# jdkVersion is used to specify the version of JDK to build and test
Gravitino, current
-# supported version is 17.
-jdkVersion = 17
-
# defaultScalaVersion is used to specify the version of Scala to build and
test Gravitino
defaultScalaVersion = 2.12
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index c8260c3b80..45f3bcac5a 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -127,6 +127,7 @@ jmh = "1.37"
jcasbin = "1.81.0"
ognl = "3.4.7"
concurrent-trees = "2.6.0"
+jakarta-validation = "2.0.2"
[libraries]
aws-iam = { group = "software.amazon.awssdk", name = "iam", version.ref =
"awssdk" }
@@ -158,6 +159,7 @@ log4j-api = { group = "org.apache.logging.log4j", name =
"log4j-api", version.re
log4j-core = { group = "org.apache.logging.log4j", name = "log4j-core",
version.ref = "log4j" }
log4j-12-api = { group = "org.apache.logging.log4j", name = "log4j-1.2-api",
version.ref = "log4j" }
log4j-layout-template-json = { group = "org.apache.logging.log4j", name =
"log4j-layout-template-json", version.ref = "log4j" }
+jakarta-validation-api = { group = "jakarta.validation", name =
"jakarta.validation-api", version.ref = "jakarta-validation" }
jetty-server = { group = "org.eclipse.jetty", name = "jetty-server",
version.ref = "jetty" }
jetty-servlet = { group = "org.eclipse.jetty", name = "jetty-servlet",
version.ref = "jetty" }
jetty-servlets = { group = "org.eclipse.jetty", name = "jetty-servlets",
version.ref = "jetty" }
diff --git a/spark-connector/spark-common/build.gradle.kts
b/spark-connector/spark-common/build.gradle.kts
index 8ec7e23b3e..432e3160f4 100644
--- a/spark-connector/spark-common/build.gradle.kts
+++ b/spark-connector/spark-common/build.gradle.kts
@@ -37,7 +37,9 @@ val scalaJava8CompatVersion: String =
libs.versions.scala.java.compat.get()
val scalaCollectionCompatVersion: String =
libs.versions.scala.collection.compat.get()
dependencies {
- implementation(project(":catalogs:catalog-common"))
+ implementation(project(":catalogs:catalog-common")) {
+ exclude("org.apache.logging.log4j")
+ }
implementation(libs.guava)
implementation(libs.caffeine)