Skip to content

Commit 343ae50

Browse files
committed
Impl. Gradle version catalog
1 parent 3b7a7fc commit 343ae50

9 files changed

Lines changed: 129 additions & 107 deletions

File tree

build.gradle.kts

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
11
import org.radarbase.gradle.plugin.radarKotlin
22

33
plugins {
4-
id("org.radarbase.radar-root-project") version Versions.radarCommons
5-
id("org.radarbase.radar-dependency-management") version Versions.radarCommons
6-
id("org.radarbase.radar-kotlin") version Versions.radarCommons apply false
4+
alias(libs.plugins.radar.root.project)
5+
alias(libs.plugins.radar.dependency.management)
6+
alias(libs.plugins.radar.kotlin) apply false
77
}
88

99
repositories {
10-
// Use jcenter for resolving dependencies.
11-
// You can declare any Maven/Ivy/file repository here.
1210
mavenCentral()
1311
}
1412

1513
description = "Kafka connector for REST API sources"
1614

1715
radarRootProject {
18-
projectVersion.set(Versions.project)
19-
gradleVersion.set(Versions.wrapper)
16+
projectVersion.set(libs.versions.project)
17+
gradleVersion.set(libs.versions.gradle)
2018
}
2119

2220
subprojects {
@@ -27,16 +25,16 @@ subprojects {
2725
/* The entries in the block below are added here to force the version of
2826
* transitive dependencies and mitigate reported vulnerabilities */
2927
force(
30-
"org.apache.commons:commons-lang3:3.18.0",
28+
"org.apache.commons:commons-lang3:${rootProject.libs.versions.commonsLang3.get()}",
3129
)
3230
}
3331
}
3432

3533
radarKotlin {
36-
javaVersion.set(Versions.java)
37-
kotlinVersion.set(Versions.kotlin)
38-
slf4jVersion.set(Versions.slf4j)
39-
log4j2Version.set(Versions.log4j2)
40-
junitVersion.set(Versions.junit)
34+
javaVersion.set(rootProject.libs.versions.java.get().toInt())
35+
kotlinVersion.set(rootProject.libs.versions.kotlin)
36+
slf4jVersion.set(rootProject.libs.versions.slf4j)
37+
log4j2Version.set(rootProject.libs.versions.log4j2)
38+
junitVersion.set(rootProject.libs.versions.junit)
4139
}
4240
}

buildSrc/src/main/kotlin/Versions.kt

Lines changed: 0 additions & 33 deletions
This file was deleted.

gradle/libs.versions.toml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
[versions]
2+
project = "0.7.2"
3+
java = "17"
4+
gradle = "8.13"
5+
kotlin = "1.9.22"
6+
radarCommons = "1.2.4"
7+
confluent = "7.8.1"
8+
avro = "1.12.0"
9+
jackson = "2.17.3"
10+
log4j2 = "2.23.1"
11+
slf4j = "2.0.13"
12+
sentryLog4j = "1.7.30"
13+
sentryOpenTelemetryAgent = "8.1.0"
14+
okhttp = "4.12.0"
15+
firebaseAdmin = "9.6.0"
16+
radarSchemas = "0.8.14"
17+
ktor = "2.3.10"
18+
junit = "5.10.2"
19+
wiremock = "3.0.1"
20+
mockito = "5.11.0"
21+
netty = "4.1.125.Final"
22+
commonsLang3 = "3.18.0"
23+
24+
[libraries]
25+
radar-commons-kotlin = { group = "org.radarbase", name = "radar-commons-kotlin", version.ref = "radarCommons" }
26+
radar-schemas-commons = { group = "org.radarbase", name = "radar-schemas-commons", version.ref = "radarSchemas" }
27+
kafka-connect-api = { group = "org.apache.kafka", name = "connect-api", version = "7.8.1-ce" }
28+
kafka-connect-avro-converter = { group = "io.confluent", name = "kafka-connect-avro-converter", version.ref = "confluent" }
29+
okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" }
30+
jackson-bom = { group = "com.fasterxml.jackson", name = "jackson-bom", version.ref = "jackson" }
31+
jackson-annotations = { group = "com.fasterxml.jackson.core", name = "jackson-annotations", version.ref = "jackson" }
32+
jackson-databind = { group = "com.fasterxml.jackson.core", name = "jackson-databind", version.ref = "jackson" }
33+
jackson-dataformat-yaml = { group = "com.fasterxml.jackson.dataformat", name = "jackson-dataformat-yaml", version.ref = "jackson" }
34+
jackson-datatype-jsr310 = { group = "com.fasterxml.jackson.datatype", name = "jackson-datatype-jsr310", version.ref = "jackson" }
35+
jackson-module-kotlin = { group = "com.fasterxml.jackson.module", name = "jackson-module-kotlin", version.ref = "jackson" }
36+
ktor-client-auth = { group = "io.ktor", name = "ktor-client-auth", version.ref = "ktor" }
37+
ktor-client-content-negotiation = { group = "io.ktor", name = "ktor-client-content-negotiation", version.ref = "ktor" }
38+
ktor-serialization-jackson = { group = "io.ktor", name = "ktor-serialization-jackson", version.ref = "ktor" }
39+
ktor-client-cio = { group = "io.ktor", name = "ktor-client-cio-jvm", version.ref = "ktor" }
40+
ktor-serialization-kotlinx-json = { group = "io.ktor", name = "ktor-serialization-kotlinx-json", version.ref = "ktor" }
41+
firebase-admin = { group = "com.google.firebase", name = "firebase-admin", version.ref = "firebaseAdmin" }
42+
avro = { group = "org.apache.avro", name = "avro", version.ref = "avro" }
43+
slf4j-api = { group = "org.slf4j", name = "slf4j-api", version.ref = "slf4j" }
44+
sentry-log4j = { group = "io.sentry", name = "sentry-log4j", version.ref = "sentryLog4j" }
45+
sentry-opentelemetry-agent = { group = "io.sentry", name = "sentry-opentelemetry-agent", version.ref = "sentryOpenTelemetryAgent" }
46+
netty-handler-proxy = { group = "io.netty", name = "netty-handler-proxy", version.ref = "netty" }
47+
netty-handler = { group = "io.netty", name = "netty-handler", version.ref = "netty" }
48+
commons-lang3 = { group = "org.apache.commons", name = "commons-lang3", version.ref = "commonsLang3" }
49+
mockito-core = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" }
50+
wiremock = { group = "com.github.tomakehurst", name = "wiremock", version.ref = "wiremock" }
51+
kotlin-test = { group = "org.jetbrains.kotlin", name = "kotlin-test", version.ref = "kotlin" }
52+
kotlin-test-junit = { group = "org.jetbrains.kotlin", name = "kotlin-test-junit", version.ref = "kotlin" }
53+
54+
[plugins]
55+
radar-root-project = { id = "org.radarbase.radar-root-project", version.ref = "radarCommons" }
56+
radar-dependency-management = { id = "org.radarbase.radar-dependency-management", version.ref = "radarCommons" }
57+
radar-kotlin = { id = "org.radarbase.radar-kotlin", version.ref = "radarCommons" }

kafka-connect-fitbit-source/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ WORKDIR /code
2020
ENV GRADLE_USER_HOME=/code/.gradlecache \
2121
GRADLE_OPTS="-Dorg.gradle.vfs.watch=false -Djdk.lang.Process.launchMechanism=vfork"
2222

23-
COPY buildSrc /code/buildSrc
23+
COPY ./gradle/libs.versions.toml /code/gradle/
2424
COPY ./build.gradle.kts ./settings.gradle.kts ./gradle.properties /code/
2525
COPY kafka-connect-rest-source/build.gradle.kts /code/kafka-connect-rest-source/
2626
COPY kafka-connect-fitbit-source/build.gradle.kts /code/kafka-connect-fitbit-source/

kafka-connect-fitbit-source/build.gradle.kts

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,33 @@ dependencies {
55
/* The entries in the block below are added here to force the version of
66
* transitive dependencies and mitigate reported vulnerabilities
77
*/
8-
implementation("io.netty:netty-handler-proxy:${Versions.nettyVersion}")
9-
implementation("io.netty:netty-handler:${Versions.nettyVersion}")
8+
implementation(libs.netty.handler.proxy)
9+
implementation(libs.netty.handler)
1010

1111
api(project(":kafka-connect-rest-source"))
1212
api(project(":oura-library"))
13-
api("io.confluent:kafka-connect-avro-converter:${Versions.confluent}")
14-
api("org.radarbase:radar-schemas-commons:${Versions.radarSchemas}")
15-
implementation("org.radarbase:radar-commons-kotlin:${Versions.radarCommons}")
13+
api(libs.kafka.connect.avro.converter)
14+
api(libs.radar.schemas.commons)
15+
implementation(libs.radar.commons.kotlin)
1616

17-
api("com.squareup.okhttp3:okhttp:${Versions.okhttp}")
18-
implementation(platform("com.fasterxml.jackson:jackson-bom:${Versions.jackson}"))
19-
implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml")
20-
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
21-
implementation("com.google.firebase:firebase-admin:${Versions.firebaseAdmin}")
22-
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.41")
17+
api(libs.okhttp)
18+
implementation(platform(libs.jackson.bom))
19+
implementation(libs.jackson.dataformat.yaml)
20+
implementation(libs.jackson.datatype.jsr310)
21+
implementation(libs.firebase.admin)
22+
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
2323

24-
implementation("io.ktor:ktor-client-auth:${Versions.ktor}")
25-
implementation("io.ktor:ktor-client-content-negotiation:${Versions.ktor}")
26-
implementation("io.ktor:ktor-serialization-jackson:${Versions.ktor}")
27-
implementation("io.ktor:ktor-client-cio-jvm:${Versions.ktor}")
28-
implementation("io.ktor:ktor-serialization-kotlinx-json:${Versions.ktor}")
29-
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:${Versions.jackson}")
24+
implementation(libs.ktor.client.auth)
25+
implementation(libs.ktor.client.content.negotiation)
26+
implementation(libs.ktor.serialization.jackson)
27+
implementation(libs.ktor.client.cio)
28+
implementation(libs.ktor.serialization.kotlinx.json)
29+
implementation(libs.jackson.module.kotlin)
3030

3131
// Included in connector runtime
32-
compileOnly("org.apache.kafka:connect-api:${Versions.kafka}")
33-
compileOnly(platform("com.fasterxml.jackson:jackson-bom:${Versions.jackson}"))
34-
compileOnly("com.fasterxml.jackson.core:jackson-databind")
32+
compileOnly(libs.kafka.connect.api)
33+
compileOnly(platform(libs.jackson.bom))
34+
compileOnly(libs.jackson.databind)
3535

36-
testImplementation("org.apache.kafka:connect-api:${Versions.kafka}")
36+
testImplementation(libs.kafka.connect.api)
3737
}

kafka-connect-oura-source/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ WORKDIR /code
2020
ENV GRADLE_USER_HOME=/code/.gradlecache \
2121
GRADLE_OPTS="-Dorg.gradle.vfs.watch=false -Djdk.lang.Process.launchMechanism=vfork"
2222

23-
COPY buildSrc /code/buildSrc
23+
COPY ./gradle/libs.versions.toml /code/gradle/
2424
COPY ./build.gradle.kts ./settings.gradle.kts ./gradle.properties /code/
2525
COPY kafka-connect-oura-source/build.gradle.kts /code/kafka-connect-oura-source/
2626
COPY oura-library/build.gradle /code/oura-library/

kafka-connect-oura-source/build.gradle.kts

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,32 @@ dependencies {
55
/* The entries in the block below are added here to force the version of
66
* transitive dependencies and mitigate reported vulnerabilities
77
*/
8-
implementation("io.netty:netty-handler-proxy:${Versions.nettyVersion}")
9-
implementation("io.netty:netty-handler:${Versions.nettyVersion}")
8+
implementation(libs.netty.handler.proxy)
9+
implementation(libs.netty.handler)
1010

1111
api(project(":oura-library"))
12-
api("io.confluent:kafka-connect-avro-converter:${Versions.confluent}")
13-
api("org.radarbase:radar-schemas-commons:${Versions.radarSchemas}")
14-
implementation("org.radarbase:radar-commons-kotlin:${Versions.radarCommons}")
12+
api(libs.kafka.connect.avro.converter)
13+
api(libs.radar.schemas.commons)
14+
implementation(libs.radar.commons.kotlin)
1515

16-
api("com.squareup.okhttp3:okhttp:${Versions.okhttp}")
17-
implementation(platform("com.fasterxml.jackson:jackson-bom:${Versions.jackson}"))
18-
implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml")
19-
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
20-
implementation("com.google.firebase:firebase-admin:${Versions.firebaseAdmin}")
21-
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21")
16+
api(libs.okhttp)
17+
implementation(platform(libs.jackson.bom))
18+
implementation(libs.jackson.dataformat.yaml)
19+
implementation(libs.jackson.datatype.jsr310)
20+
implementation(libs.firebase.admin)
21+
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
2222

23-
implementation("io.ktor:ktor-client-auth:${Versions.ktor}")
24-
implementation("io.ktor:ktor-client-content-negotiation:${Versions.ktor}")
25-
implementation("io.ktor:ktor-serialization-jackson:${Versions.ktor}")
26-
implementation("io.ktor:ktor-client-cio-jvm:${Versions.ktor}")
27-
implementation("io.ktor:ktor-serialization-kotlinx-json:${Versions.ktor}")
28-
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:${Versions.jackson}")
23+
implementation(libs.ktor.client.auth)
24+
implementation(libs.ktor.client.content.negotiation)
25+
implementation(libs.ktor.serialization.jackson)
26+
implementation(libs.ktor.client.cio)
27+
implementation(libs.ktor.serialization.kotlinx.json)
28+
implementation(libs.jackson.module.kotlin)
2929

3030
// Included in connector runtime
31-
compileOnly("org.apache.kafka:connect-api:${Versions.kafka}")
32-
compileOnly(platform("com.fasterxml.jackson:jackson-bom:${Versions.jackson}"))
33-
compileOnly("com.fasterxml.jackson.core:jackson-databind")
31+
compileOnly(libs.kafka.connect.api)
32+
compileOnly(platform(libs.jackson.bom))
33+
compileOnly(libs.jackson.databind)
3434

35-
testImplementation("org.apache.kafka:connect-api:${Versions.kafka}")
35+
testImplementation(libs.kafka.connect.api)
3636
}
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
description = "Kafka connector for generic REST API sources"
22

33
dependencies {
4-
api("com.squareup.okhttp3:okhttp:${Versions.okhttp}")
4+
api(libs.okhttp)
55

66
// included in runtime
7-
compileOnly("org.apache.kafka:connect-api:${Versions.kafka}")
8-
compileOnly("org.slf4j:slf4j-api:${Versions.slf4j}")
7+
compileOnly(libs.kafka.connect.api)
8+
compileOnly(libs.slf4j.api)
99

10-
testImplementation("org.mockito:mockito-core:${Versions.mockito}")
11-
testImplementation("com.github.tomakehurst:wiremock:${Versions.wiremock}")
10+
testImplementation(libs.mockito.core)
11+
testImplementation(libs.wiremock)
1212

13-
testImplementation("org.apache.kafka:connect-api:${Versions.kafka}")
13+
testImplementation(libs.kafka.connect.api)
1414

1515
// Application monitoring
1616
// These dependencies are not used by the REST connector, but copied into the Docker image (Dockerfile)
17-
runtimeOnly("io.sentry:sentry-log4j:${Versions.sentryLog4j}") {
17+
runtimeOnly(libs.sentry.log4j) {
1818
// Exclude log4j with security vulnerability (safe version is provided by docker image).
1919
exclude(group = "log4j", module = "log4j")
2020
}
21-
runtimeOnly("io.sentry:sentry-opentelemetry-agent:${Versions.sentryOpenTelemetryAgent}")
21+
runtimeOnly(libs.sentry.opentelemetry.agent)
2222
}

oura-library/build.gradle

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,23 @@ dependencies {
1414
// Use the Kotlin JDK 8 standard library.
1515
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
1616

17-
implementation "com.squareup.okhttp3:okhttp:$Versions.okhttp"
17+
implementation libs.okhttp
1818

19-
implementation "org.radarbase:radar-schemas-commons:$Versions.radarSchemas"
19+
implementation libs.radar.schemas.commons
2020

21-
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "$Versions.jackson"
21+
implementation libs.jackson.annotations
2222

23-
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "$Versions.jackson"
23+
implementation libs.jackson.databind
2424

25-
implementation group: 'org.apache.avro', name: 'avro', version: "$Versions.avro"
25+
implementation libs.avro
2626

27-
implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$Versions.jackson"
27+
implementation libs.jackson.datatype.jsr310
2828

2929
// Use the Kotlin test library.
30-
testImplementation 'org.jetbrains.kotlin:kotlin-test'
30+
testImplementation libs.kotlin.test
3131

3232
// Use the Kotlin JUnit integration.
33-
testImplementation 'org.jetbrains.kotlin:kotlin-test-junit'
33+
testImplementation libs.kotlin.test.junit
3434
}
3535

3636
project.afterEvaluate {
@@ -44,4 +44,4 @@ project.afterEvaluate {
4444
}
4545
}
4646
}
47-
}
47+
}

0 commit comments

Comments
 (0)