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
3 changes: 1 addition & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,5 @@ jobs:
target_commitish: ${{ github.sha }}
prerelease: ${{ steps.get_version.outputs.commit_count != '0' }}
files: |
transact/build/libs/*.jar
transact-cli/build/libs/dbos.jar
transact*/build/libs/*.jar

6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
- name: Test Summary
uses: test-summary/action@v2
with:
paths: "transact/build/test-results/test/TEST-*.xml"
paths: "transact*/build/test-results/test/TEST-*.xml"
show: "fail, skip"
if: always()

Expand All @@ -54,5 +54,5 @@ jobs:
with:
name: test-results-${{ matrix.jdk-version }}-${{ matrix.jdk-distro }}
path: |
transact/build/reports/tests/
transact/build/test-results/
transact*/build/reports/tests/
transact*/build/test-results/
6 changes: 3 additions & 3 deletions .github/workflows/test_crdb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: Test Summary
uses: test-summary/action@v2
with:
paths: "transact/build/test-results/test/TEST-*.xml"
paths: "transact*/build/test-results/test/TEST-*.xml"
show: "fail, skip"
if: always()

Expand All @@ -42,5 +42,5 @@ jobs:
with:
name: test-results-crdb-temurin-25
path: |
transact/build/reports/tests/
transact/build/test-results/
transact*/build/reports/tests/
transact*/build/test-results/
74 changes: 61 additions & 13 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import com.vanniktech.maven.publish.DeploymentValidation

plugins {
id("pmd")
alias(libs.plugins.spotless)
Expand Down Expand Up @@ -91,6 +93,10 @@ spotless {
}
}

val pmdVersion = libs.versions.pmd.get()

extensions.configure<org.gradle.api.plugins.quality.PmdExtension> { toolVersion = pmdVersion }

subprojects {
apply(plugin = "java")
apply(plugin = "pmd")
Expand All @@ -99,7 +105,7 @@ subprojects {

// PMD configuration
extensions.configure<org.gradle.api.plugins.quality.PmdExtension> {
toolVersion = "7.16.0"
toolVersion = pmdVersion
ruleSets = listOf() // disable defaults
ruleSetFiles = files("${rootDir}/config/pmd/ruleset.xml")
isConsoleOutput = true
Expand Down Expand Up @@ -133,17 +139,11 @@ subprojects {

tasks.withType<com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask> {
rejectVersionIf {
val isUnstable =
fun isUnstable(version: String) =
listOf("alpha", "beta", "rc", "cr", "m", "preview", "b", "ea").any { qualifier ->
candidate.version.lowercase().contains(qualifier)
version.lowercase().contains(qualifier)
}

val isStable =
listOf("release", "final", "ga").any { qualifier ->
currentVersion.lowercase().contains(qualifier)
}

isUnstable && !isStable
isUnstable(candidate.version) && !isUnstable(currentVersion)
}
}

Expand All @@ -154,9 +154,12 @@ subprojects {
targetCompatibility = JavaVersion.VERSION_17
}

// Allow the compiler to see higher-version APIs for reflection but keep the bytecode target at
// 17.
tasks.withType<JavaCompile> { options.release.set(17) }
tasks.withType<JavaCompile> {
options.release.set(17)
options.compilerArgs.addAll(
listOf("-Xlint:unchecked", "-Xlint:deprecation", "-Xlint:rawtypes", "-Werror")
)
}

// use the environment's JDK instead of the toolchain's JDK for tests
tasks.withType<Test> { javaLauncher.set(null as JavaLauncher?) }
Expand Down Expand Up @@ -213,4 +216,49 @@ subprojects {
}
}
}

plugins.withId("com.vanniktech.maven.publish") {
val publishingToMavenCentral =
gradle.startParameter.taskNames.any { it.contains("publishToMavenCentral") }

tasks.withType<Javadoc> {
(options as StandardJavadocDocletOptions).apply {
addStringOption("Xdoclint:all,-missing", "-quiet")
encoding = "UTF-8"
}
}

tasks.named("build") { dependsOn("javadoc") }

extensions.configure<com.vanniktech.maven.publish.MavenPublishBaseExtension> {
publishToMavenCentral(automaticRelease = true, validateDeployment = DeploymentValidation.NONE)
if (publishingToMavenCentral) signAllPublications()

pom {
inceptionYear.set("2025")
url.set("https://github.com/dbos-inc/dbos-transact-java")

licenses {
license {
name.set("MIT License")
url.set("https://opensource.org/licenses/MIT")
}
}

developers {
developer {
id.set("dbos-inc")
name.set("DBOS Inc")
email.set("support@dbos.dev")
}
}

scm {
connection.set("scm:git:git://github.com/dbos-inc/dbos-transact-java.git")
developerConnection.set("scm:git:ssh://github.com:dbos-inc/dbos-transact-java.git")
url.set("https://github.com/dbos-inc/dbos-transact-java/tree/main")
}
}
}
}
}
24 changes: 13 additions & 11 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,40 +1,42 @@
[versions]
asm = "9.9.1"
aspectj = "1.9.22.1"
asm = "9.10.1"
aspectj = "1.9.25.1"
assertj = "3.27.7"
cron-utils = "9.2.1"
hibernate = "6.6.15.Final"
hibernate = "7.4.0.Final"
hikaricp = "7.0.2"
jackson = "2.21.3"
java-websocket = "1.6.0"
jaxb-api = "4.0.5"
jdbi = "3.53.0"
# jOOQ pinned to 3.19.x for JDK 17 compatibility
# jOOQ pinned to 3.19.x for JDK 17 compat https://www.jooq.org/download/support-matrix-jdk
jooq = "3.19.34"
jspecify = "1.0.0"
junit = "6.0.3"
junit = "6.1.0"
junit-pioneer = "2.3.0"
kotlin = "2.3.21"
kryo = "5.6.2"
logback = "1.5.32"
maven-artifact = "3.9.15"
logback = "1.5.33"
maven-artifact = "3.9.16"
maven-publish = "0.36.0"
mockito = "5.23.0"
picocli = "4.7.7"
pmd = "7.24.0"
postgresql = "42.7.11"
rest-assured = "6.0.0"
shadow = "9.4.1"
shadow = "9.4.2"
slf4j = "2.0.18"
spotless = "8.4.0"
# Spring Boot pinned to 3.5.x. Enterprise support for 3.5 lasts until 2032
spotless = "8.6.0"
# Spring Boot pinned to 3.5.x for LTS https://spring.io/projects/spring-boot#support
spring-boot = "3.5.14"
# Spring Boot 4.0.x binaries for test purposes
spring-boot4 = "4.0.6"
# Spring Framework pinned to 6.2.x for LTS https://spring.io/projects/spring-framework#support
spring-framework = "6.2.18"
sqlite-jdbc = "3.53.1.0"
system-stubs = "2.1.8"
testcontainers = "2.0.5"
versions = "0.53.0"
versions = "0.54.0"

[libraries]
asm = { module = "org.ow2.asm:asm", version.ref = "asm" }
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
2 changes: 1 addition & 1 deletion gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 0 additions & 7 deletions transact-cli/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,3 @@ tasks.named<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar>("shadowJ
archiveVersion.set("")
archiveClassifier.set("")
}

tasks.withType<JavaCompile> {
options.compilerArgs.add("-Xlint:unchecked") // warn about unchecked operations
options.compilerArgs.add("-Xlint:deprecation") // warn about deprecated APIs
options.compilerArgs.add("-Xlint:rawtypes") // warn about raw types
options.compilerArgs.add("-Werror") // treat all warnings as errors
}
15 changes: 9 additions & 6 deletions transact-jdbi-step-factory/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
plugins { id("java-library") }
plugins {
id("java-library")
alias(libs.plugins.maven.publish)
}

tasks.withType<JavaCompile> {
options.compilerArgs.add("-Xlint:unchecked")
options.compilerArgs.add("-Xlint:deprecation")
options.compilerArgs.add("-Xlint:rawtypes")
options.compilerArgs.add("-Werror")
mavenPublishing {
pom {
name.set("DBOS Transact JDBI Step Factory")
description.set("JDBI step factory for DBOS Transact Java SDK")
}
}

dependencies {
Expand Down
15 changes: 9 additions & 6 deletions transact-jooq-step-factory/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
plugins { id("java-library") }
plugins {
id("java-library")
alias(libs.plugins.maven.publish)
}

tasks.withType<JavaCompile> {
options.compilerArgs.add("-Xlint:unchecked")
options.compilerArgs.add("-Xlint:deprecation")
options.compilerArgs.add("-Xlint:rawtypes")
options.compilerArgs.add("-Werror")
mavenPublishing {
pom {
name.set("DBOS Transact jOOQ Step Factory")
description.set("jOOQ step factory for DBOS Transact Java SDK")
}
}

dependencies {
Expand Down
58 changes: 4 additions & 54 deletions transact-spring-boot-starter/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,26 +1,15 @@
import com.vanniktech.maven.publish.DeploymentValidation

plugins {
id("java-library")
alias(libs.plugins.maven.publish)
}

tasks.withType<JavaCompile> {
options.compilerArgs.add("-Xlint:unchecked")
options.compilerArgs.add("-Xlint:deprecation")
options.compilerArgs.add("-Xlint:rawtypes")
options.compilerArgs.add("-Werror")
}

tasks.withType<Javadoc> {
(options as StandardJavadocDocletOptions).apply {
addStringOption("Xdoclint:all,-missing", "-quiet")
encoding = "UTF-8"
mavenPublishing {
pom {
name.set("DBOS Transact Spring Boot Starter")
description.set("Spring Boot auto-configuration for DBOS Transact Java SDK")
}
}

tasks.named("build") { dependsOn("javadoc") }

dependencies {
api(project(":transact"))
compileOnly(libs.spring.boot.autoconfigure)
Expand Down Expand Up @@ -49,7 +38,6 @@ testing {
suites {
val springBoot4Test by
registering(JvmTestSuite::class) {
// Run the same tests against Spring Boot 4.0 by pointing at the same source tree.
sources {
java { setSrcDirs(sourceSets["test"].java.srcDirs) }
resources { setSrcDirs(sourceSets["test"].resources.srcDirs) }
Expand Down Expand Up @@ -77,41 +65,3 @@ testing {
}

tasks.named("test") { dependsOn("springBoot4Test") }

val publishingToMavenCentral =
gradle.startParameter.taskNames.any { it.contains("publishToMavenCentral") }

mavenPublishing {
publishToMavenCentral(automaticRelease = true, validateDeployment = DeploymentValidation.NONE)
if (publishingToMavenCentral) {
signAllPublications()
}

pom {
name.set("DBOS Transact Spring Boot Starter")
description.set("Spring Boot auto-configuration for DBOS Transact Java SDK")
inceptionYear.set("2025")
url.set("https://github.com/dbos-inc/dbos-transact-java")

licenses {
license {
name.set("MIT License")
url.set("https://opensource.org/licenses/MIT")
}
}

developers {
developer {
id.set("dbos-inc")
name.set("DBOS Inc")
email.set("support@dbos.dev")
}
}

scm {
connection.set("scm:git:git://github.com/dbos-inc/dbos-transact-java.git")
developerConnection.set("scm:git:ssh://github.com:dbos-inc/dbos-transact-java.git")
url.set("https://github.com/dbos-inc/dbos-transact-java/tree/main")
}
}
}
Loading