Add Gradle Kotlin DSL build alongside Maven#268
Open
adityamparikh wants to merge 3 commits intospring-cloud:mainfrom
Open
Add Gradle Kotlin DSL build alongside Maven#268adityamparikh wants to merge 3 commits intospring-cloud:mainfrom
adityamparikh wants to merge 3 commits intospring-cloud:mainfrom
Conversation
Migrate all 77 modules from Spring Boot 2.3-3.1 to Spring Boot 4.0.0 with Spring Cloud Stream 5.0.0 and Spring Cloud 2025.1.0 (Oakwood). Key changes: - Centralize POM hierarchy: all modules inherit from root parent - javax.* -> jakarta.* namespace migration - EmbeddedKafkaRule (JUnit 4) -> @embeddedkafka / EmbeddedKafkaKraftBroker - Kafka Streams 4.0: KStream.branch() -> split().branch() API - TopologyTestDriver: ConsumerRecordFactory -> TestInputTopic/TestOutputTopic - Spring Cloud Stream 5.0: serdeError -> deserializationExceptionHandler - spring.cloud.stream.function.definition -> spring.cloud.function.definition - spring.profiles -> spring.config.activate.on-profile - KafkaTestUtils method signatures: int timeouts -> Duration - Boot 4 modular auto-config package relocations - Kotlin stdlib-jdk8 -> kotlin-stdlib - @SpyBean -> @MockitoSpyBean - Spring Security lambda DSL migration - Remove hardcoded dependency versions in favor of BOM management - Update Confluent, Avro, Testcontainers, and other third-party deps Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: adityamparikh <aditya.m.parikh@gmail.com>
Add Gradle build files as a dual-build overlay on top of the Spring Boot 4.0 migration. Both Maven and Gradle builds coexist, allowing gradual adoption. Key changes: - gradle/libs.versions.toml: Version catalog with Boot 4.0.0, Spring Cloud 2025.1.0, Kotlin 2.2.0, and all shared dependencies - Root build.gradle.kts: Shared subproject config with dependency management, Java 17 toolchain, spring-boot-jackson2 bridge for Jackson 2/3 coexistence - settings.gradle.kts: All module includes with Spring/Confluent repos - Gradle 8.14 wrapper (required for Boot 4.0.0 compatibility) - Per-module build.gradle.kts for all 77 subprojects - Avro code generation via com.github.davidmc24.gradle.plugin.avro for 7 modules - Tests disabled for modules requiring external infrastructure (Couchbase, Kinesis/Kinesalite) matching Maven's skipTests configuration - JUnit platform launcher alignment for standalone library modules Signed-off-by: Aditya Parikh <adityamparikh@gmail.com> Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: adityamparikh <aditya.m.parikh@gmail.com>
- Replace removed dependencies: junit-vintage-engine, prometheus-rsocket-spring, spring-cloud-stream-schema, spring-cloud-stream-dependencies BOM - Add Avro Gradle plugin to kafka-e2e-kotlin modules for code generation - Use kotlin-stdlib instead of kotlin-stdlib-jdk8 (Kotlin 2.x) - Add spring-boot-jdbc, spring-boot-transaction, spring-boot-kafka test deps to testing-demo for Boot 4 modular auto-configuration - Add junit-platform-launcher to image-thumbnail-processor for JUnit alignment - Skip tests for couchbase modules (matching Maven's skipTests config) - Skip test compilation for kinesis-to-webflux (old AWS SDK 1.x incompatible) Signed-off-by: Aditya Parikh <adityamparikh@gmail.com> Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: adityamparikh <aditya.m.parikh@gmail.com>
ae8e8a7 to
1f8aae6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Done using https://github.com/adityamparikh/maven-to-gradle