This is an automated email from the ASF dual-hosted git repository. fanng pushed a commit to branch stats_job in repository https://gitbox.apache.org/repos/asf/gravitino.git
commit 6bde30bef03921df53567ecd11a8becb59fb7074 Author: fanng <[email protected]> AuthorDate: Thu Mar 5 11:45:36 2026 +0800 Fix client-java Java 8/17 compatibility split - Keep clients:client-java main artifact targeting Java 8 while compiling/running tests with Java 17 - Set test classpath target JVM to 17 to resolve :core/:server variant matching - Remove clients:client-java from root compatibleWithJDK8 shortcut to avoid forcing test runtime to Java 8 --- build.gradle.kts | 1 - clients/client-java/build.gradle.kts | 30 ++++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index d1b53e093e..ee9f7ed796 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -337,7 +337,6 @@ subprojects { if (path.startsWith(":maintenance:jobs") || path.startsWith(":maintenance:optimizer-api") || path.startsWith(":maintenance:gravitino-updaters") || - path.startsWith(":clients:client-java") || name == "api" || name == "common" || name == "catalog-common" || diff --git a/clients/client-java/build.gradle.kts b/clients/client-java/build.gradle.kts index 17c6e2d7f8..04279d6e0b 100644 --- a/clients/client-java/build.gradle.kts +++ b/clients/client-java/build.gradle.kts @@ -16,12 +16,36 @@ * specific language governing permissions and limitations * under the License. */ +import org.gradle.api.attributes.java.TargetJvmVersion +import org.gradle.api.tasks.compile.JavaCompile + plugins { `maven-publish` id("java") id("idea") } +java { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +} + +tasks.named<JavaCompile>("compileJava") { + options.release.set(8) +} + +tasks.named<JavaCompile>("compileTestJava") { + options.release.set(17) +} + +val targetJvmVersionAttribute = TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE +configurations.named("testCompileClasspath") { + attributes.attribute(targetJvmVersionAttribute, 17) +} +configurations.named("testRuntimeClasspath") { + attributes.attribute(targetJvmVersionAttribute, 17) +} + dependencies { implementation(project(":api")) implementation(project(":common")) { @@ -70,6 +94,12 @@ tasks.build { } tasks.test { + javaLauncher.set( + javaToolchains.launcherFor { + languageVersion.set(JavaLanguageVersion.of(17)) + } + ) + val skipITs = project.hasProperty("skipITs") if (skipITs) { exclude("**/integration/test/**")
