From 9bf698d56436368f39f61e9349c5671759561e3e Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Tue, 21 Apr 2026 17:39:57 -0700 Subject: [PATCH] Add missing gRPC test starters Add `spring-boot-starter-grpc-client-test` and `spring-boot-starter-grpc-server-test` to align with the client and server modules. Also refine dependencies for common test usage patterns. `spring-boot-starter-grpc-server-test` has been removed. Closes gh-49690 --- .../spring-boot-dependencies/build.gradle | 3 +- settings.gradle | 3 +- .../build.gradle | 2 +- .../build.gradle | 4 +-- .../build.gradle | 4 +-- .../build.gradle | 2 +- .../build.gradle | 3 +- .../build.gradle | 30 +++++++++++++++++++ 8 files changed, 40 insertions(+), 11 deletions(-) rename starter/{spring-boot-starter-grpc-test => spring-boot-starter-grpc-client-test}/build.gradle (89%) create mode 100644 starter/spring-boot-starter-grpc-server-test/build.gradle diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 736c00b553f..73cdab167d7 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -2296,8 +2296,9 @@ bom { "spring-boot-starter-graphql", "spring-boot-starter-graphql-test", "spring-boot-starter-grpc-client", + "spring-boot-starter-grpc-client-test", "spring-boot-starter-grpc-server", - "spring-boot-starter-grpc-test", + "spring-boot-starter-grpc-server-test", "spring-boot-starter-groovy-templates", "spring-boot-starter-groovy-templates-test", "spring-boot-starter-gson", diff --git a/settings.gradle b/settings.gradle index a1521d6b2e5..57017885a6c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -271,8 +271,9 @@ include "starter:spring-boot-starter-freemarker-test" include "starter:spring-boot-starter-graphql" include "starter:spring-boot-starter-graphql-test" include "starter:spring-boot-starter-grpc-client" +include "starter:spring-boot-starter-grpc-client-test" include "starter:spring-boot-starter-grpc-server" -include "starter:spring-boot-starter-grpc-test" +include "starter:spring-boot-starter-grpc-server-test" include "starter:spring-boot-starter-groovy-templates" include "starter:spring-boot-starter-groovy-templates-test" include "starter:spring-boot-starter-gson" diff --git a/smoke-test/spring-boot-smoke-test-grpc-client-test/build.gradle b/smoke-test/spring-boot-smoke-test-grpc-client-test/build.gradle index 5c328e0c1e8..5df78a9f5f4 100644 --- a/smoke-test/spring-boot-smoke-test-grpc-client-test/build.gradle +++ b/smoke-test/spring-boot-smoke-test-grpc-client-test/build.gradle @@ -25,7 +25,7 @@ description = "Spring Boot gRPC client and test smoke test" dependencies { implementation(project(":starter:spring-boot-starter-grpc-client")) - testImplementation(project(":starter:spring-boot-starter-grpc-test")) + testImplementation(project(":starter:spring-boot-starter-grpc-client-test")) } def dependenciesBom = project(":platform:spring-boot-dependencies").extensions.getByName("bom") diff --git a/smoke-test/spring-boot-smoke-test-grpc-server-oauth/build.gradle b/smoke-test/spring-boot-smoke-test-grpc-server-oauth/build.gradle index 7584bb95504..c8bfb5ef95a 100644 --- a/smoke-test/spring-boot-smoke-test-grpc-server-oauth/build.gradle +++ b/smoke-test/spring-boot-smoke-test-grpc-server-oauth/build.gradle @@ -27,10 +27,8 @@ dependencies { implementation(project(":starter:spring-boot-starter-oauth2-resource-server")) implementation(project(":starter:spring-boot-starter-grpc-server")) - testImplementation(project(":starter:spring-boot-starter-grpc-client")) - testImplementation(project(":starter:spring-boot-starter-grpc-test")) + testImplementation(project(":starter:spring-boot-starter-grpc-server-test")) testImplementation(project(":starter:spring-boot-starter-oauth2-client")) - testImplementation(project(":starter:spring-boot-starter-test")) } def dependenciesBom = project(":platform:spring-boot-dependencies").extensions.getByName("bom") diff --git a/smoke-test/spring-boot-smoke-test-grpc-server-secure/build.gradle b/smoke-test/spring-boot-smoke-test-grpc-server-secure/build.gradle index 1249a7fece3..93ab9e7af05 100644 --- a/smoke-test/spring-boot-smoke-test-grpc-server-secure/build.gradle +++ b/smoke-test/spring-boot-smoke-test-grpc-server-secure/build.gradle @@ -26,9 +26,7 @@ dependencies { implementation(project(":starter:spring-boot-starter-grpc-server")) implementation(project(":starter:spring-boot-starter-security")) - testImplementation(project(":starter:spring-boot-starter-grpc-client")) - testImplementation(project(":starter:spring-boot-starter-grpc-test")) - testImplementation(project(":starter:spring-boot-starter-test")) + testImplementation(project(":starter:spring-boot-starter-grpc-server-test")) } def dependenciesBom = project(":platform:spring-boot-dependencies").extensions.getByName("bom") diff --git a/smoke-test/spring-boot-smoke-test-grpc-server-test/build.gradle b/smoke-test/spring-boot-smoke-test-grpc-server-test/build.gradle index 9f4f475ce29..e068f9019ac 100644 --- a/smoke-test/spring-boot-smoke-test-grpc-server-test/build.gradle +++ b/smoke-test/spring-boot-smoke-test-grpc-server-test/build.gradle @@ -25,7 +25,7 @@ description = "Spring Boot gRPC server and test smoke test" dependencies { implementation(project(":starter:spring-boot-starter-grpc-server")) - testImplementation(project(":starter:spring-boot-starter-grpc-test")) + testImplementation(project(":starter:spring-boot-starter-grpc-server-test")) } def dependenciesBom = project(":platform:spring-boot-dependencies").extensions.getByName("bom") diff --git a/starter/spring-boot-starter-grpc-test/build.gradle b/starter/spring-boot-starter-grpc-client-test/build.gradle similarity index 89% rename from starter/spring-boot-starter-grpc-test/build.gradle rename to starter/spring-boot-starter-grpc-client-test/build.gradle index d0f2bf871d4..c928576a231 100644 --- a/starter/spring-boot-starter-grpc-test/build.gradle +++ b/starter/spring-boot-starter-grpc-client-test/build.gradle @@ -18,11 +18,12 @@ plugins { id "org.springframework.boot.starter" } -description = "Starter for testing gRPC" +description = "Starter for testing gRPC client" dependencies { api(project(":starter:spring-boot-starter-test")) + api(project(":module:spring-boot-grpc-server")) api(project(":module:spring-boot-grpc-test")) api("io.grpc:grpc-inprocess") api("io.grpc:grpc-stub") diff --git a/starter/spring-boot-starter-grpc-server-test/build.gradle b/starter/spring-boot-starter-grpc-server-test/build.gradle new file mode 100644 index 00000000000..ea5d616f8ae --- /dev/null +++ b/starter/spring-boot-starter-grpc-server-test/build.gradle @@ -0,0 +1,30 @@ +/* + * Copyright 2012-present the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +plugins { + id "org.springframework.boot.starter" +} + +description = "Starter for testing gRPC server" + +dependencies { + api(project(":starter:spring-boot-starter-test")) + + api(project(":module:spring-boot-grpc-client")) + api(project(":module:spring-boot-grpc-test")) + api("io.grpc:grpc-inprocess") + api("io.grpc:grpc-stub") +}