Currently, Spring Initializr has a feature where selecting Spring Integration alongside other protocol-specific starters (for example Apache Kafka) automatically adds the corresponding Spring Integration module to the generated build file (spring-integration-kafka).
Spring integration now has gRPC inbound and outbound gateways, so similar support for gRPC dependencies can be added.
So when a user selects both Spring Integration and a Spring gRPC starter(both client and server), the Initializr should automatically add the spring-integration-grpc dependency to the generated project.
The dependencies should look like:
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-integration'
implementation 'org.springframework.boot:spring-boot-starter-grpc-client'
implementation 'org.springframework.integration:spring-integration-grpc'
//Test
testImplementation "org.springframework.boot:spring-boot-starter-grpc-test"
}
-or
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-integration'
implementation 'org.springframework.boot:spring-boot-starter-grpc-server'
implementation 'org.springframework.integration:spring-integration-grpc'
//Test
testImplementation "org.springframework.boot:spring-boot-starter-grpc-test"
}
The original idea was mentioned here: spring-projects/spring-integration-samples#382 (comment)
by @artembilan
Currently, Spring Initializr has a feature where selecting Spring Integration alongside other protocol-specific starters (for example Apache Kafka) automatically adds the corresponding Spring Integration module to the generated build file (
spring-integration-kafka).Spring integration now has gRPC inbound and outbound gateways, so similar support for gRPC dependencies can be added.
So when a user selects both Spring Integration and a Spring gRPC starter(both client and server), the Initializr should automatically add the
spring-integration-grpcdependency to the generated project.The dependencies should look like:
dependencies { implementation 'org.springframework.boot:spring-boot-starter-integration' implementation 'org.springframework.boot:spring-boot-starter-grpc-client' implementation 'org.springframework.integration:spring-integration-grpc' //Test testImplementation "org.springframework.boot:spring-boot-starter-grpc-test" }-or
dependencies { implementation 'org.springframework.boot:spring-boot-starter-integration' implementation 'org.springframework.boot:spring-boot-starter-grpc-server' implementation 'org.springframework.integration:spring-integration-grpc' //Test testImplementation "org.springframework.boot:spring-boot-starter-grpc-test" }The original idea was mentioned here: spring-projects/spring-integration-samples#382 (comment)
by @artembilan