Skip to content

Commit

Permalink
Migrate to version catalog, configure dependabot (#424)
Browse files Browse the repository at this point in the history
* Migrate to version catalog

* Add dependabot and dependency submission
  • Loading branch information
slinkydeveloper authored Nov 29, 2024
1 parent 83ac866 commit b34e0c9
Show file tree
Hide file tree
Showing 23 changed files with 305 additions and 249 deletions.
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "gradle"
directory: "/"
schedule:
interval: "weekly"
22 changes: 22 additions & 0 deletions .github/workflows/dependency-submission.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Dependency Submission

on:
push:
branches: [ 'main' ]

permissions:
contents: write

jobs:
dependency-submission:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Generate and submit dependency graph
uses: gradle/actions/dependency-submission@v4
13 changes: 6 additions & 7 deletions admin-client/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,20 @@ import org.openapitools.generator.gradle.plugin.tasks.GenerateTask
plugins {
`java-library`
`java-conventions`
id("org.openapi.generator") version "7.5.0"
alias(libs.plugins.openapi.generator)
`library-publishing-conventions`
}

description = "Code-generated Admin API client for Restate"

dependencies {
implementation(platform(jacksonLibs.jackson.bom))
implementation(jacksonLibs.jackson.core)
implementation(jacksonLibs.jackson.databind)
implementation(jacksonLibs.jackson.jsr310)
implementation(libs.jackson.core)
implementation(libs.jackson.databind)
implementation(libs.jackson.jsr310)

// Required for the annotations
compileOnly("org.apache.tomcat:annotations-api:6.0.53")
compileOnly("com.google.code.findbugs:jsr305:3.0.2")
compileOnly(libs.tomcat.annotations)
compileOnly(libs.google.findbugs.jsr305)
}

// Add generated output to source sets
Expand Down
5 changes: 2 additions & 3 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ plugins {
id("org.jetbrains.dokka") version "1.9.20"

// https://github.com/gradle/gradle/issues/20084#issuecomment-1060822638
id(pluginLibs.plugins.spotless.get().pluginId) apply false
id(libs.plugins.spotless.get().pluginId) apply false
}

// Dokka is bringing in jackson unshaded and it's messing up other plugins, so we override those
// Dokka is bringing in jackson unshaded, and it's messing up other plugins, so we override those
// here!
buildscript {
dependencies {
Expand All @@ -25,7 +25,6 @@ buildscript {
}
}

val protobufVersion = coreLibs.versions.protobuf.get()
val restateVersion = libs.versions.restate.get()

allprojects {
Expand Down
20 changes: 9 additions & 11 deletions examples/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import com.github.jengelman.gradle.plugins.shadow.transformers.ServiceFileTransf
plugins {
`java-conventions`
`kotlin-conventions`
alias(kotlinLibs.plugins.ksp)
alias(libs.plugins.ksp)
application
id("com.github.johnrengelman.shadow").version("8.1.1")
alias(libs.plugins.shadow)
}

dependencies {
Expand All @@ -19,17 +19,15 @@ dependencies {
implementation(project(":sdk-api-kotlin"))
implementation(project(":sdk-serde-jackson"))

implementation(platform(jacksonLibs.jackson.bom))
implementation(jacksonLibs.jackson.jsr310)
implementation(jacksonLibs.jackson.parameter.names)
implementation(libs.jackson.jsr310)
implementation(libs.jackson.parameter.names)

implementation(kotlinLibs.kotlinx.coroutines)
implementation(kotlinLibs.kotlinx.serialization.core)
implementation(kotlinLibs.kotlinx.serialization.json)
implementation(libs.kotlinx.coroutines.core)
implementation(libs.kotlinx.serialization.core)
implementation(libs.kotlinx.serialization.json)

implementation(coreLibs.log4j.core)
implementation(platform(vertxLibs.vertx.bom))
implementation(vertxLibs.vertx.core)
implementation(libs.log4j.core)
implementation(libs.vertx.core)
}

application {
Expand Down
70 changes: 69 additions & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,70 @@
[versions]
restate = '1.3.0-SNAPSHOT'
jackson = "2.18.1"
victools-json-schema = "4.37.0"
ksp = "2.0.21-1.0.28"
protobuf = "4.28.3"
opentelemetry = "1.44.1"
vertx = "4.5.11"
dokka = "1.9.20"
kotlinx-serialization = "1.7.3"
kotlinx-coroutines = "1.9.0"
junit = "5.10.2"
spring-boot = "3.3.5"
log4j = "2.24.1"
restate = "1.3.0-SNAPSHOT"

[libraries]
aws-lambda-core = "com.amazonaws:aws-lambda-java-core:1.2.3"
aws-lambda-events = "com.amazonaws:aws-lambda-java-events:3.11.5"
jackson-annotations = { module = "com.fasterxml.jackson.core:jackson-annotations", version.ref = "jackson" }
jackson-core = { module = "com.fasterxml.jackson.core:jackson-core", version.ref = "jackson" }
jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson" }
jackson-jsr310 = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jsr310", version.ref = "jackson" }
jackson-jdk8 = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jdk8", version.ref = "jackson" }
jackson-parameter-names = { module = "com.fasterxml.jackson.module:jackson-module-parameter-names", version.ref = "jackson" }
handlebars = "com.github.jknack:handlebars:4.3.1"
victools-jsonschema-generator = { module = "com.github.victools:jsonschema-generator", version.ref = "victools-json-schema" }
victools-jsonschema-module-jackson = { module = "com.github.victools:jsonschema-module-jackson", version.ref = "victools-json-schema" }
google-findbugs-jsr305 = "com.google.code.findbugs:jsr305:3.0.2"
tink = "com.google.crypto.tink:tink:1.15.0"
ksp-api = { module = "com.google.devtools.ksp:symbol-processing-api", version.ref = "ksp" }
protobuf-java = { module = "com.google.protobuf:protobuf-java", version.ref = "protobuf" }
protobuf-kotlin = { module = "com.google.protobuf:protobuf-kotlin", version.ref = "protobuf" }
protobuf-protoc = { module = "com.google.protobuf:protoc", version.ref = "protobuf" }
jwt = "com.nimbusds:nimbus-jose-jwt:9.47"
opentelemetry-api = { module = "io.opentelemetry:opentelemetry-api", version.ref = "opentelemetry" }
opentelemetry-kotlin = { module = "io.opentelemetry:opentelemetry-extension-kotlin", version.ref = "opentelemetry" }
reactiverse-contextual-logging = "io.reactiverse:reactiverse-contextual-logging:1.2.1"
mutiny = "io.smallrye.reactive:mutiny:2.6.0"
vertx-core = { module = "io.vertx:vertx-core", version.ref = "vertx" }
vertx-junit5 = { module = "io.vertx:vertx-junit5", version.ref = "vertx" }
vertx-kotlin-coroutines = { module = "io.vertx:vertx-lang-kotlin-coroutines", version.ref = "vertx" }
log4j-api = { module = "org.apache.logging.log4j:log4j-api", version.ref = "log4j" }
log4j-core = { module = "org.apache.logging.log4j:log4j-core", version.ref = "log4j" }
tomcat-annotations = "org.apache.tomcat:annotations-api:6.0.53"
assertj = "org.assertj:assertj-core:3.26.0"
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" }
kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinx-serialization" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
jspecify = "org.jspecify:jspecify:1.0.0"
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" }
junit-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit" }
slf4j-nop = "org.slf4j:slf4j-nop:1.7.32"
spring-boot-starter = { module = "org.springframework.boot:spring-boot-starter", version.ref = "spring-boot" }
spring-boot-starter-json = { module = "org.springframework.boot:spring-boot-starter-json", version.ref = "spring-boot" }
spring-boot-starter-test = { module = "org.springframework.boot:spring-boot-starter-test", version.ref = "spring-boot" }
testcontainers = "org.testcontainers:testcontainers:1.20.3"

[plugins]
dependency-license-report = "com.github.jk1.dependency-license-report:2.0"
shadow = "com.github.johnrengelman.shadow:8.1.1"
jib = "com.google.cloud.tools.jib:3.2.1"
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
protobuf = "com.google.protobuf:0.9.4"
aggregate-javadoc = "io.freefair.aggregate-javadoc:8.6"
gradle-nexus-publish-plugin = "io.github.gradle-nexus.publish-plugin:1.3.0"
spring-dependency-management = "io.spring.dependency-management:1.1.6"
dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" }
jsonschema2pojo = "org.jsonschema2pojo:1.2.1"
openapi-generator = "org.openapi.generator:7.5.0"
spotless = "com.diffplug.spotless:6.25.0"
2 changes: 1 addition & 1 deletion sdk-aggregated-javadocs/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
plugins { id("io.freefair.aggregate-javadoc") version "8.6" }
plugins { alias(libs.plugins.aggregate.javadoc) }

rootProject.subprojects
.filter { it.name != "examples" }
Expand Down
6 changes: 3 additions & 3 deletions sdk-api-gen-common/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ plugins {
description = "Restate SDK API Gen Common"

dependencies {
compileOnly(coreLibs.jspecify)
compileOnly(libs.jspecify)

api("com.github.jknack:handlebars:4.3.1")
api(libs.handlebars)
api(project(":sdk-common"))

// We need it to silence the slf4j warning (coming from handlebars)
runtimeOnly("org.slf4j:slf4j-nop:1.7.32")
runtimeOnly(libs.slf4j.nop)
}
15 changes: 7 additions & 8 deletions sdk-api-gen/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,20 @@ plugins {
description = "Restate SDK API Gen"

dependencies {
compileOnly(coreLibs.jspecify)
compileOnly(libs.jspecify)

implementation(project(":sdk-api-gen-common"))
implementation(project(":sdk-api"))

testAnnotationProcessor(project(":sdk-api-gen"))
testImplementation(project(":sdk-core"))
testImplementation(testingLibs.junit.jupiter)
testImplementation(testingLibs.assertj)
testImplementation(coreLibs.protobuf.java)
testImplementation(coreLibs.log4j.core)
testImplementation(platform(jacksonLibs.jackson.bom))
testImplementation(jacksonLibs.jackson.databind)
testImplementation(libs.junit.jupiter)
testImplementation(libs.assertj)
testImplementation(libs.protobuf.java)
testImplementation(libs.log4j.core)
testImplementation(libs.jackson.databind)
testImplementation(project(":sdk-serde-jackson"))
testImplementation("io.smallrye.reactive:mutiny:2.6.0")
testImplementation(libs.mutiny)

// Import test suites from sdk-core
testImplementation(project(":sdk-core", "testArchive"))
Expand Down
20 changes: 10 additions & 10 deletions sdk-api-kotlin-gen/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,28 @@ plugins {
`kotlin-conventions`
`test-jar-conventions`
`library-publishing-conventions`
alias(kotlinLibs.plugins.ksp)
alias(libs.plugins.ksp)
}

description = "Restate SDK API Kotlin Gen"

dependencies {
compileOnly(coreLibs.jspecify)
compileOnly(libs.jspecify)

implementation(kotlinLibs.symbol.processing.api)
implementation(libs.ksp.api)
implementation(project(":sdk-api-gen-common"))

implementation(project(":sdk-api-kotlin"))

kspTest(project(":sdk-api-kotlin-gen"))
testImplementation(project(":sdk-core"))
testImplementation(testingLibs.junit.jupiter)
testImplementation(testingLibs.assertj)
testImplementation(coreLibs.protobuf.java)
testImplementation(coreLibs.log4j.core)
testImplementation(kotlinLibs.kotlinx.coroutines)
testImplementation(kotlinLibs.kotlinx.serialization.core)
testImplementation("io.smallrye.reactive:mutiny:2.6.0")
testImplementation(libs.junit.jupiter)
testImplementation(libs.assertj)
testImplementation(libs.protobuf.java)
testImplementation(libs.log4j.core)
testImplementation(libs.kotlinx.coroutines.core)
testImplementation(libs.kotlinx.serialization.core)
testImplementation(libs.mutiny)

// Import test suites from sdk-core
testImplementation(project(":sdk-core", "testArchive"))
Expand Down
21 changes: 10 additions & 11 deletions sdk-api-kotlin/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,19 @@ description = "Restate SDK Kotlin APIs"
dependencies {
api(project(":sdk-common"))

implementation(kotlinLibs.kotlinx.coroutines)
implementation(kotlinLibs.kotlinx.serialization.core)
implementation(kotlinLibs.kotlinx.serialization.json)
implementation(libs.kotlinx.coroutines.core)
implementation(libs.kotlinx.serialization.core)
implementation(libs.kotlinx.serialization.json)

implementation(coreLibs.log4j.api)
implementation(platform(coreLibs.opentelemetry.bom))
implementation(coreLibs.opentelemetry.kotlin)
implementation(libs.log4j.api)
implementation(libs.opentelemetry.kotlin)

testImplementation(project(":sdk-core"))
testImplementation(testingLibs.junit.jupiter)
testImplementation(testingLibs.assertj)
testImplementation(coreLibs.log4j.core)
testImplementation(coreLibs.protobuf.java)
testImplementation("io.smallrye.reactive:mutiny:2.6.0")
testImplementation(libs.junit.jupiter)
testImplementation(libs.assertj)
testImplementation(libs.log4j.core)
testImplementation(libs.protobuf.java)
testImplementation(libs.mutiny)

testImplementation(project(":sdk-core", "testArchive"))
}
17 changes: 8 additions & 9 deletions sdk-api/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,20 @@ plugins {
description = "Restate SDK APIs"

dependencies {
compileOnly(coreLibs.jspecify)
compileOnly(libs.jspecify)

api(project(":sdk-common"))

implementation(coreLibs.log4j.api)
implementation(libs.log4j.api)

implementation(platform(jacksonLibs.jackson.bom))
implementation(jacksonLibs.jackson.core)
implementation(libs.jackson.core)

testImplementation(project(":sdk-core"))
testImplementation(testingLibs.junit.jupiter)
testImplementation(testingLibs.assertj)
testImplementation(coreLibs.protobuf.java)
testImplementation(coreLibs.log4j.core)
testImplementation("io.smallrye.reactive:mutiny:2.6.0")
testImplementation(libs.junit.jupiter)
testImplementation(libs.assertj)
testImplementation(libs.protobuf.java)
testImplementation(libs.log4j.core)
testImplementation(libs.mutiny)

// Import test suites from sdk-core
testImplementation(project(":sdk-core", "testArchive"))
Expand Down
12 changes: 5 additions & 7 deletions sdk-common/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,14 @@ plugins {
description = "Common interfaces of the Restate SDK"

dependencies {
compileOnly(coreLibs.jspecify)
compileOnly(libs.jspecify)

api(platform(coreLibs.opentelemetry.bom))
api(coreLibs.opentelemetry.api)
api(libs.opentelemetry.api)

implementation(platform(jacksonLibs.jackson.bom))
implementation(jacksonLibs.jackson.core)
implementation(libs.jackson.core)

testImplementation(testingLibs.junit.jupiter)
testImplementation(testingLibs.assertj)
testImplementation(libs.junit.jupiter)
testImplementation(libs.assertj)
}

val generatedVersionDir = layout.buildDirectory.dir("version")
Expand Down
Loading

0 comments on commit b34e0c9

Please sign in to comment.