This is an automated email from the ASF dual-hosted git repository.

rustyrazorblade pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cassandra-easy-stress.git


The following commit(s) were added to refs/heads/main by this push:
     new d2e1a64  Upgrade Gradle to 8.14.3 and migrate to version catalog (#52)
d2e1a64 is described below

commit d2e1a644793502f37f228a851a44c155514f41e1
Author: Jon Haddad <[email protected]>
AuthorDate: Tue Sep 30 11:06:02 2025 -0700

    Upgrade Gradle to 8.14.3 and migrate to version catalog (#52)
    
    - Upgrade Gradle from 7.6.2 to 8.14.3
    - Upgrade Kotlin from 1.9.0 to 2.2.20
    - Upgrade Shadow plugin from 5.1.0 to 9.2.2 (com.gradleup.shadow)
    - Upgrade Nebula OS Package from 9.1.1 to 12.1.1 
(com.netflix.nebula.ospackage)
    - Create gradle/libs.versions.toml for centralized dependency management
    - Migrate all dependencies and plugins to version catalog references
    - Remove buildscript block in favor of plugins DSL
    - Organize dependencies by category (logging, metrics, Parquet, test)
---
 build.gradle                             | 115 ++++++++++++-------------------
 gradle/libs.versions.toml                |  82 ++++++++++++++++++++++
 gradle/wrapper/gradle-wrapper.properties |   2 +-
 3 files changed, 127 insertions(+), 72 deletions(-)

diff --git a/build.gradle b/build.gradle
index 7cf9368..ad6a774 100644
--- a/build.gradle
+++ b/build.gradle
@@ -16,24 +16,14 @@
  * limitations under the License.
  */
 
-buildscript {
-    ext.kotlin_version = '1.9.0'
-
-    repositories {
-        mavenCentral()
-    }
-    dependencies {
-        classpath 'com.github.jengelman.gradle.plugins:shadow:5.1.0'
-    }
-}
-
 plugins {
-    id 'com.google.cloud.tools.jib' version '3.3.0'
-    id "org.jetbrains.kotlin.jvm" version "1.9.0"
-    id "nebula.ospackage" version "9.1.1"
-    id "nebula.ospackage-application"  version "9.1.1"
-    id "org.jlleitschuh.gradle.ktlint" version "12.1.2"
-    id "io.gitlab.arturbosch.detekt" version "1.23.7"
+    alias(libs.plugins.jib)
+    alias(libs.plugins.kotlin.jvm)
+    alias(libs.plugins.nebula.ospackage)
+    alias(libs.plugins.nebula.ospackage.application)
+    alias(libs.plugins.ktlint)
+    alias(libs.plugins.detekt)
+    alias(libs.plugins.shadow)
 }
 
 
@@ -41,7 +31,6 @@ apply plugin: 'idea'
 apply plugin: 'java'
 apply plugin: 'kotlin'
 apply plugin: 'application'
-apply plugin: 'com.github.johnrengelman.shadow'
 
 group 'org.apache.cassandra'
 
@@ -57,66 +46,50 @@ repositories {
 }
 
 dependencies {
-//    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10"
-    implementation group: 'com.beust', name: 'jcommander', version: '1.82'
-
-    // https://mvnrepository.com/artifact/org.apache.commons/commons-text
-    implementation group: 'org.apache.commons', name: 'commons-text', version: 
'1.3'
+    implementation libs.jcommander
+    implementation libs.commons.text
+    implementation libs.commons.math3
 
     // Java driver v4
-    implementation "org.apache.cassandra:java-driver-core:4.19.0"
-    implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.13.4'
+    implementation libs.cassandra.driver.core
+    implementation libs.jackson.module.kotlin
 
-    // https://mvnrepository.com/artifact/org.reflections/reflections
-    implementation group: 'org.reflections', name: 'reflections', version: 
'0.9.11'
+    implementation libs.reflections
 
-    implementation group: "org.apache.logging.log4j", name: "log4j-api", 
version: "2.17.1"
-    implementation group: "org.apache.logging.log4j", name: "log4j-core", 
version:"2.17.1"
-    implementation 'org.apache.logging.log4j:log4j-api-kotlin:1.2.0'
-    // 
https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-slf4j18-impl
+    // Logging
+    implementation libs.log4j.api
+    implementation libs.log4j.core
+    implementation libs.log4j.api.kotlin
     // maps the datastax driver slf4j calls to log4j
-
-    implementation 'org.apache.logging.log4j:log4j-slf4j18-impl:2.18.0'
+    implementation libs.log4j.slf4j18.impl
 
     // needed for yaml logging configurations
-
-    implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.1'
-    implementation 
'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.4'
-
-    // https://mvnrepository.com/artifact/io.dropwizard.metrics/metrics-core
-    // Newer version to work with Cassandra driver v4
-    implementation group: 'io.dropwizard.metrics', name: 'metrics-core', 
version: '4.1.18'
-
-    // https://mvnrepository.com/artifact/com.google.guava/guava
-    implementation group: 'com.google.guava', name: 'guava', version: 
'32.1.3-jre'
-
-    // https://mvnrepository.com/artifact/com.github.ajalt/mordant
-    implementation group: 'com.github.ajalt', name: 'mordant', version: '1.1.0'
-
-    implementation 'io.prometheus:simpleclient:0.16.0'
-    implementation 'io.prometheus:simpleclient_dropwizard:0.16.0'
-    implementation 'io.prometheus:simpleclient_httpserver:0.16.0'
-
-    implementation group: 'me.tongfei', name: 'progressbar', version: '0.7.2'
-
-    implementation 'org.apache.commons:commons-math3:3.6.1'
-    implementation 'org.hdrhistogram:HdrHistogram:2.1.12'
-
-    implementation("org.agrona:agrona:1.22.0") // can't use the 2.x or 1.23+ 
line as it requires JDK 17
-
-    // for Parquet support
-    implementation("org.apache.parquet:parquet-hadoop:1.15.2")
-    implementation 'org.apache.hadoop:hadoop-common:3.4.1'
-    implementation 'org.apache.hadoop:hadoop-mapreduce-client-common:3.4.1'
-
-    // exporting dropwizard metrics
-
-    testImplementation group: 'org.junit.jupiter', name: 
'junit-jupiter-engine', version: '5.1.0'
-    testImplementation group: 'org.assertj', name: 'assertj-core', version: 
'3.9.1'
-    testImplementation "org.jetbrains.kotlin:kotlin-test-junit"
-    testImplementation group: 'org.junit.jupiter', name: 
'junit-jupiter-params', version: '5.4.0'
-
-    testImplementation 'io.mockk:mockk:1.12.7'
+    implementation libs.jackson.databind
+    implementation libs.jackson.dataformat.yaml
+
+    // Metrics
+    implementation libs.dropwizard.metrics.core
+    implementation libs.prometheus.simpleclient
+    implementation libs.prometheus.simpleclient.dropwizard
+    implementation libs.prometheus.simpleclient.httpserver
+
+    implementation libs.guava
+    implementation libs.mordant
+    implementation libs.progressbar
+    implementation libs.hdrhistogram
+    implementation libs.agrona // can't use the 2.x or 1.23+ line as it 
requires JDK 17
+
+    // Parquet support
+    implementation libs.parquet.hadoop
+    implementation libs.hadoop.common
+    implementation libs.hadoop.mapreduce.client.common
+
+    // Test dependencies
+    testImplementation libs.junit.jupiter.engine
+    testImplementation libs.junit.jupiter.params
+    testImplementation libs.assertj.core
+    testImplementation libs.kotlin.test.junit
+    testImplementation libs.mockk
 
 }
 
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
new file mode 100644
index 0000000..6b24e0f
--- /dev/null
+++ b/gradle/libs.versions.toml
@@ -0,0 +1,82 @@
+[versions]
+kotlin = "2.2.20"
+jib = "3.3.0"
+nebula-ospackage = "12.1.1"
+ktlint = "12.1.2"
+detekt = "1.23.7"
+shadow = "9.2.2"
+
+jcommander = "1.82"
+commons-text = "1.3"
+commons-math3 = "3.6.1"
+cassandra-driver = "4.19.0"
+jackson = "2.17.1"
+jackson-kotlin = "2.13.4"
+jackson-yaml = "2.13.4"
+reflections = "0.9.11"
+log4j = "2.17.1"
+log4j-kotlin = "1.2.0"
+log4j-slf4j = "2.18.0"
+dropwizard-metrics = "4.1.18"
+guava = "32.1.3-jre"
+mordant = "1.1.0"
+prometheus = "0.16.0"
+progressbar = "0.7.2"
+hdrhistogram = "2.1.12"
+agrona = "1.22.0"
+parquet = "1.15.2"
+hadoop = "3.4.1"
+junit = "5.1.0"
+junit-params = "5.4.0"
+assertj = "3.9.1"
+mockk = "1.12.7"
+
+[libraries]
+jcommander = { module = "com.beust:jcommander", version.ref = "jcommander" }
+commons-text = { module = "org.apache.commons:commons-text", version.ref = 
"commons-text" }
+commons-math3 = { module = "org.apache.commons:commons-math3", version.ref = 
"commons-math3" }
+
+cassandra-driver-core = { module = "org.apache.cassandra:java-driver-core", 
version.ref = "cassandra-driver" }
+
+jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", 
version.ref = "jackson" }
+jackson-module-kotlin = { module = 
"com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = 
"jackson-kotlin" }
+jackson-dataformat-yaml = { module = 
"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml", version.ref = 
"jackson-yaml" }
+
+reflections = { module = "org.reflections:reflections", version.ref = 
"reflections" }
+
+log4j-api = { module = "org.apache.logging.log4j:log4j-api", version.ref = 
"log4j" }
+log4j-core = { module = "org.apache.logging.log4j:log4j-core", version.ref = 
"log4j" }
+log4j-api-kotlin = { module = "org.apache.logging.log4j:log4j-api-kotlin", 
version.ref = "log4j-kotlin" }
+log4j-slf4j18-impl = { module = "org.apache.logging.log4j:log4j-slf4j18-impl", 
version.ref = "log4j-slf4j" }
+
+dropwizard-metrics-core = { module = "io.dropwizard.metrics:metrics-core", 
version.ref = "dropwizard-metrics" }
+
+guava = { module = "com.google.guava:guava", version.ref = "guava" }
+mordant = { module = "com.github.ajalt:mordant", version.ref = "mordant" }
+
+prometheus-simpleclient = { module = "io.prometheus:simpleclient", version.ref 
= "prometheus" }
+prometheus-simpleclient-dropwizard = { module = 
"io.prometheus:simpleclient_dropwizard", version.ref = "prometheus" }
+prometheus-simpleclient-httpserver = { module = 
"io.prometheus:simpleclient_httpserver", version.ref = "prometheus" }
+
+progressbar = { module = "me.tongfei:progressbar", version.ref = "progressbar" 
}
+hdrhistogram = { module = "org.hdrhistogram:HdrHistogram", version.ref = 
"hdrhistogram" }
+agrona = { module = "org.agrona:agrona", version.ref = "agrona" }
+
+parquet-hadoop = { module = "org.apache.parquet:parquet-hadoop", version.ref = 
"parquet" }
+hadoop-common = { module = "org.apache.hadoop:hadoop-common", version.ref = 
"hadoop" }
+hadoop-mapreduce-client-common = { module = 
"org.apache.hadoop:hadoop-mapreduce-client-common", version.ref = "hadoop" }
+
+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-params" }
+assertj-core = { module = "org.assertj:assertj-core", version.ref = "assertj" }
+kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit" }
+mockk = { module = "io.mockk:mockk", version.ref = "mockk" }
+
+[plugins]
+jib = { id = "com.google.cloud.tools.jib", version.ref = "jib" }
+kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
+nebula-ospackage = { id = "com.netflix.nebula.ospackage", version.ref = 
"nebula-ospackage" }
+nebula-ospackage-application = { id = 
"com.netflix.nebula.ospackage-application", version.ref = "nebula-ospackage" }
+ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" }
+detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
+shadow = { id = "com.gradleup.shadow", version.ref = "shadow" }
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
index 740908b..e69d040 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.2-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to