Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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