diff --git a/java/build.gradle.kts b/java/build.gradle.kts index ee84d215ac0..7b558df82dc 100644 --- a/java/build.gradle.kts +++ b/java/build.gradle.kts @@ -5,14 +5,16 @@ import net.ltgt.gradle.errorprone.errorprone plugins { id("com.diffplug.spotless") version "7.2.1" - id("com.palantir.consistent-versions") version "2.37.0" id("com.palantir.git-version") version "4.0.0" id("net.ltgt.errorprone") version "4.3.0" apply false - id("org.inferred.processors") version "3.7.0" apply false id("com.google.protobuf") version "0.9.5" apply false id("com.vanniktech.maven.publish") version "0.34.0" apply false } +dependencyLocking { + lockAllConfigurations() +} + subprojects { apply(plugin = "com.vanniktech.maven.publish") } @@ -32,12 +34,11 @@ allprojects { plugins.withType { apply(plugin = "net.ltgt.errorprone") - apply(plugin = "org.inferred.processors") dependencies { - "errorprone"("com.google.errorprone:error_prone_core") - "errorprone"("com.jakewharton.nopen:nopen-checker") - "compileOnly"("com.jakewharton.nopen:nopen-annotations") + "errorprone"(libs.errorprone.core) + "errorprone"(libs.nopen.checker) + "compileOnly"(libs.nopen.annotations) } spotless { diff --git a/java/gradle/libs.versions.toml b/java/gradle/libs.versions.toml new file mode 100644 index 00000000000..710ffda9507 --- /dev/null +++ b/java/gradle/libs.versions.toml @@ -0,0 +1,44 @@ +[versions] +errorprone = "2.36.0" +guava = "33.4.8-jre" +guava-failureaccess = "1.0.3" +guava-listenablefuture = "9999.0-empty-to-avoid-conflict-with-guava" +nopen = "1.0.1" +spark = "3.5.6" +immutables = "2.11.3" +protobuf = "4.32.0" +arrow = "18.3.0" +junit = "5.13.4" +slf4j = "2.0.17" +logback = "1.5.18" + +[libraries] +errorprone-annotations = { module = "com.google.errorprone:error_prone_annotations", version.ref = "errorprone" } +errorprone-core = { module = "com.google.errorprone:error_prone_core", version.ref = "errorprone" } +guava = { module = "com.google.guava:guava", version.ref = "guava" } +guava-failureaccess = { module = "com.google.guava:failureaccess", version.ref = "guava-failureaccess" } +guava-listenablefuture = { module = "com.google.guava:listenablefuture", version.ref = "guava-listenablefuture" } +nopen-checker = { module = "com.jakewharton.nopen:nopen-checker", version.ref = "nopen" } +nopen-annotations = { module = "com.jakewharton.nopen:nopen-annotations", version.ref = "nopen" } +immutables-value = { module = "org.immutables:value", version.ref = "immutables" } +protobuf = { module = "com.google.protobuf:protobuf-java", version.ref = "protobuf" } + +# Logging +slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" } +logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } + +# Spark libraries (expand wildcard as needed) +spark-catalyst = { module = "org.apache.spark:spark-catalyst_2.12", version.ref = "spark" } +spark-sql = { module = "org.apache.spark:spark-sql_2.12", version.ref = "spark" } + +# Arrow libraries (expand wildcard as needed) +arrow-vector = { module = "org.apache.arrow:arrow-vector", version.ref = "arrow" } +arrow-c-data = { module = "org.apache.arrow:arrow-c-data", version.ref = "arrow" } +arrow-memory-core = { module = "org.apache.arrow:arrow-memory-core", version.ref = "arrow" } +arrow-memory-netty = { module = "org.apache.arrow:arrow-memory-netty", version.ref = "arrow" } + +# Test dependencies +junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" } +junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit" } +junit-jupiter-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit" } +junit-jupiter-params = { module = "org.junit.jupiter:junit-jupiter-params", version.ref = "junit" } diff --git a/java/gradle/wrapper/gradle-wrapper.properties b/java/gradle/wrapper/gradle-wrapper.properties index a481c8ec2ba..d175af4db3a 100644 --- a/java/gradle/wrapper/gradle-wrapper.properties +++ b/java/gradle/wrapper/gradle-wrapper.properties @@ -3,7 +3,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/java/versions.props b/java/versions.props deleted file mode 100644 index fab0c639ecb..00000000000 --- a/java/versions.props +++ /dev/null @@ -1,15 +0,0 @@ -# SPDX-License-Identifier: Apache-2.0 -# SPDX-FileCopyrightText: Copyright the Vortex contributors - -com.google.errorprone:error_prone_core = 2.36.0 -com.google.guava:failureaccess = 1.0.3 -com.google.guava:guava = 33.4.8-jre -com.google.guava:listenablefuture = 9999.0-empty-to-avoid-conflict-with-guava -com.jakewharton.nopen:* = 1.0.1 -org.apache.spark:* = 3.5.6 -org.immutables:value = 2.11.3 -com.google.protobuf:protobuf-java = 4.32.0 -org.apache.arrow:* = 18.3.0 - -# Test dependencies -org.junit.jupiter:* = 5.13.4 diff --git a/java/vortex-jni/build.gradle.kts b/java/vortex-jni/build.gradle.kts index 1eaa4c34cfe..938400c7e62 100644 --- a/java/vortex-jni/build.gradle.kts +++ b/java/vortex-jni/build.gradle.kts @@ -12,24 +12,21 @@ plugins { } dependencies { - implementation("org.apache.arrow:arrow-c-data") - implementation("org.apache.arrow:arrow-memory-core") - implementation("org.apache.arrow:arrow-memory-netty") + compileOnly(libs.immutables.value) + annotationProcessor(libs.immutables.value) - compileOnly("org.immutables:value") - annotationProcessor("org.immutables:value") + implementation(libs.arrow.c.data) + implementation(libs.arrow.memory.core) + implementation(libs.arrow.memory.netty) - errorprone("com.google.errorprone:error_prone_core") - errorprone("com.jakewharton.nopen:nopen-checker") + implementation(libs.guava) + implementation(libs.protobuf) + implementation(libs.slf4j) - implementation("com.google.guava:guava") - implementation("com.google.protobuf:protobuf-java") - compileOnly("com.google.errorprone:error_prone_annotations") - compileOnly("com.jakewharton.nopen:nopen-annotations") + compileOnly(libs.errorprone.annotations) + compileOnly(libs.nopen.annotations) - // Logging - implementation("org.slf4j:slf4j-api:2.0.17") - testRuntimeOnly("ch.qos.logback:logback-classic:1.5.18") + testCompileOnly(libs.logback.classic) } testing { @@ -37,7 +34,7 @@ testing { val test by getting(JvmTestSuite::class) { useJUnitJupiter() dependencies { - implementation("org.junit.jupiter:junit-jupiter-params") + implementation(libs.junit.jupiter.params) } } } diff --git a/java/vortex-spark/build.gradle.kts b/java/vortex-spark/build.gradle.kts index c66c37ff83e..1e6d993ebfe 100644 --- a/java/vortex-spark/build.gradle.kts +++ b/java/vortex-spark/build.gradle.kts @@ -9,15 +9,15 @@ plugins { } dependencies { - api("org.apache.spark:spark-catalyst_2.12") - api("org.apache.spark:spark-sql_2.12") + api(libs.spark.catalyst) + api(libs.spark.sql) api(project(":vortex-jni", configuration = "shadow")) - compileOnly("org.immutables:value") - annotationProcessor("org.immutables:value") + compileOnly(libs.immutables.value) + annotationProcessor(libs.immutables.value) - implementation("com.google.guava:guava") - implementation("org.slf4j:slf4j-api:2.0.17") + implementation(libs.guava) + implementation(libs.slf4j) } testing {