Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
8b01530
Bump versions for Spring Batch 6.0.3 support
acktsap May 15, 2026
40aeadf
Migrate Java module imports for Spring Batch 6.0.3
acktsap May 15, 2026
e93e422
Bump test dependencies for JUnit Jupiter 6 and Spring Boot 4
acktsap May 15, 2026
f18b67c
Rewrite Java tests for Spring Batch 6.0 API
acktsap May 15, 2026
9f040de
Migrate Java module to JSpecify nullability annotations
acktsap May 18, 2026
3745b46
Replace Spring Batch 6.0 deprecated APIs in Java tests
acktsap May 18, 2026
e9fdb21
Migrate Java samples to Spring Batch 6.0 and Boot 4.0
acktsap May 20, 2026
2e68150
Bump Kotlin toolchain to 2.2.21 for Spring Batch 6
acktsap May 20, 2026
9fc0e1d
Migrate Kotlin module imports for Spring Batch 6.0.3
acktsap May 20, 2026
385670d
Reformat Kotlin sources with ktlint 14
acktsap May 20, 2026
0d646f9
Remove DSL methods for APIs removed in Spring Batch 6.0
acktsap May 20, 2026
c46919e
Add Java bridge for F-bound capture in JobBuilderDsl
acktsap May 22, 2026
95fc930
Route SimpleStepBuilder/PartitionStepBuilder construction through bridge
acktsap May 22, 2026
36348fb
Add ChunkListener generic type arguments
acktsap May 22, 2026
3211214
Remove throttleLimit DSL (removed in Spring Batch 6.0)
acktsap May 22, 2026
13300cf
Replace JobStepBuilder.launcher with operator (Spring Batch 6.0)
acktsap May 22, 2026
76ab747
Migrate Kotlin tests to Spring Batch 6 JobExecution/StepExecution APIs
acktsap May 22, 2026
377b209
Split @EnableJdbcJobRepository from @EnableBatchProcessing (Spring Ba…
acktsap May 26, 2026
3089a65
Register StepExecutions with JobExecution explicitly (Spring Batch 6.0)
acktsap May 26, 2026
8b76c0c
Format Kotlin tests with ktlint
acktsap May 26, 2026
55aaf51
Propagate Spring Batch 6.0 deprecations to Kotlin DSL
acktsap May 27, 2026
bdbc9f1
Drop stale @Deprecated on tasklet DSL methods (un-deprecated in Sprin…
acktsap Jun 1, 2026
1477a43
Add ChunkOrientedStepBuilderDsl
acktsap Jun 2, 2026
5d9cd64
Bump Spring Batch to 6.0.4
acktsap Jun 5, 2026
d71fe2e
Document PartitionStepBuilderDsl scoping design with KDoc
acktsap Jun 8, 2026
40b1b38
Bump Spring Boot to 4.0.7
acktsap Jun 12, 2026
5dbd804
Bump Gradle wrapper to 9.5.1
acktsap Jun 12, 2026
1a64a34
Migrate Kotlin autoconfigure to Spring Boot 4
acktsap Jun 12, 2026
de7d0d2
Migrate Kotlin samples to Spring Boot 4 + Spring Batch 6 imports
acktsap Jun 15, 2026
81526f0
Remove Kotlin sample directories for APIs removed in Spring Batch 6.0
acktsap Jun 15, 2026
ac894ed
Add ChunkListener type arguments in Kotlin samples
acktsap Jun 15, 2026
2e587aa
Migrate StepExecutionSplitter sample to Spring Batch 6.0 API
acktsap Jun 23, 2026
f44c24a
Remove kotlin-dsl-sample directories for APIs absent in ChunkOriented…
acktsap Jun 24, 2026
c04cb5a
Remove kotlin-dsl-sample directories for APIs absent in ChunkOriented…
acktsap Jun 24, 2026
a5f66e1
Migrate kotlin-dsl-sample chunkorientedstep samples to ChunkOrientedS…
acktsap Jun 24, 2026
b99a336
Add JobStepBuilderDsl.operator sample
acktsap Jun 24, 2026
05ebe47
Reformat chunklistener and operator samples to satisfy ktlint
acktsap Jun 26, 2026
4454ce0
Remove kotlin-dsl-sample taskletstep listenerannotation sample
acktsap Jun 26, 2026
91cad98
Polish jobStep tests, samples
acktsap Jun 28, 2026
429c816
Polish flowStep tests, samples
acktsap Jun 28, 2026
ae332a2
Move step integration tests into step package
acktsap Jun 28, 2026
d42eff3
Polish taskletStep tests, samples
acktsap Jun 28, 2026
4747c26
Document step sample invariants
acktsap Jun 28, 2026
014a3df
Polish partitionStep tests, samples
acktsap Jul 6, 2026
7098111
Move taskletStep redundancy check to integration test
acktsap Jul 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ repositories {

dependencies {
// see also (compatibility matrix) : https://docs.gradle.org/current/userguide/compatibility.html
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20")
implementation("org.jlleitschuh.gradle.ktlint:org.jlleitschuh.gradle.ktlint.gradle.plugin:11.6.1")
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.21")
implementation("org.jlleitschuh.gradle.ktlint:org.jlleitschuh.gradle.ktlint.gradle.plugin:14.2.0")
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ kotlin {
"-Xjsr305=strict", // enable jsr305 null-safety in kotlin
)
jvmTarget = JvmTarget.JVM_17 // make class files for this version
languageVersion = KotlinVersion.KOTLIN_1_6 // language feature level
apiVersion = KotlinVersion.KOTLIN_1_6 // std api level
languageVersion = KotlinVersion.KOTLIN_2_2 // language feature level
apiVersion = KotlinVersion.KOTLIN_2_2 // std api level
}
}
28 changes: 19 additions & 9 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,31 +1,41 @@
[versions]
spring-boot = "3.4.0"
spring-batch = "5.2.0"
spring-boot = "4.0.7"
spring-batch = "6.0.4"
# spring-jdbc version should follow minor version described in 'spring-framework.version'
# https://github.com/spring-projects/spring-batch/blob/main/pom.xml
spring-jdbc = "6.2.0"
spring-jdbc = "7.0.6"
# spring-data-mongodb / mongodb-driver versions should follow what 'spring-batch.version' pins
# https://github.com/spring-projects/spring-batch/blob/main/pom.xml
spring-data-mongodb = "5.0.6"
mongodb-driver = "5.6.5"
slf4j = "2.0.17"
reactor-core = "3.5.0"
reactor-core = "3.8.4"
findbugs-jsr305 = "3.0.2"
jspecify = "1.0.0"

# test-only
junit = "5.11.+"
junit = "6.0.+"
assertj = "3.27.+"
mockito = "5.15.+"
mockk = "1.13.+"
h2 = "2.3.+"
log4j = "2.24.+"
mockito = "5.20.+"
mockk = "1.14.+"
h2 = "2.4.+"
log4j = "2.25.+"

[libraries]
spring-boot-autoconfigure = { module = "org.springframework.boot:spring-boot-autoconfigure", version.ref = "spring-boot" }
spring-boot-batch-jdbc = { module = "org.springframework.boot:spring-boot-batch-jdbc", version.ref = "spring-boot" }
spring-data-mongodb = { module = "org.springframework.data:spring-data-mongodb", version.ref = "spring-data-mongodb" }
mongodb-driver-sync = { module = "org.mongodb:mongodb-driver-sync", version.ref = "mongodb-driver" }
spring-batch-core = { module = "org.springframework.batch:spring-batch-core", version.ref = "spring-batch" }
spring-jdbc = { module = "org.springframework:spring-jdbc", version.ref = "spring-jdbc" }
slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
reactor-core = { module = "io.projectreactor:reactor-core", version.ref = "reactor-core" }
findbugs-jsr305 = { module = "com.google.code.findbugs:jsr305", version.ref = "findbugs-jsr305" }
jspecify = { module = "org.jspecify:jspecify", version.ref = "jspecify" }

# test-only
junit = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" }
junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher", version.ref = "junit" }
assertj = { module = "org.assertj:assertj-core", version.ref = "assertj" }
mockito = { module = "org.mockito:mockito-core", version.ref = "mockito" }
mockk = { module = "io.mockk:mockk", version.ref = "mockk" }
Expand Down
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-8.13-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
1 change: 1 addition & 0 deletions spring-batch-plus-kotlin/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ dependencies {
testImplementation(libs.spring.batch.core)
testImplementation(libs.spring.jdbc)
testImplementation(libs.reactor.core)
testRuntimeOnly(libs.junit.platform.launcher)
testRuntimeOnly(libs.h2)
testRuntimeOnly(libs.log4j)
}
Loading
Loading