From 33a5c31fe3cee6db58ebffa7f60bc0d82cfb11c6 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 18 May 2021 09:27:48 +0100 Subject: [PATCH] Avoid duplicate crypto classes when depending on spring-security-core See gh-26387 --- .../build.gradle | 13 ++++++++++--- .../build.gradle | 16 ++++++++++++---- .../spring-boot-starter-security/build.gradle | 8 ++++++-- 3 files changed, 28 insertions(+), 9 deletions(-) diff --git a/spring-boot-project/spring-boot-starters/spring-boot-starter-oauth2-client/build.gradle b/spring-boot-project/spring-boot-starters/spring-boot-starter-oauth2-client/build.gradle index 3df25780ed6..15772c590b9 100644 --- a/spring-boot-project/spring-boot-starters/spring-boot-starter-oauth2-client/build.gradle +++ b/spring-boot-project/spring-boot-starters/spring-boot-starter-oauth2-client/build.gradle @@ -7,10 +7,17 @@ description = "Starter for using Spring Security's OAuth2/OpenID Connect client dependencies { api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter")) api("com.sun.mail:jakarta.mail") - api("org.springframework.security:spring-security-config") - api("org.springframework.security:spring-security-core") + api("org.springframework.security:spring-security-config") { + exclude group: "org.springframework.security", module: "spring-security-crypto" + } + api("org.springframework.security:spring-security-core") { + exclude group: "org.springframework.security", module: "spring-security-crypto" + } api("org.springframework.security:spring-security-oauth2-client") { exclude group: "com.sun.mail", module: "javax.mail" + exclude group: "org.springframework.security", module: "spring-security-crypto" + } + api("org.springframework.security:spring-security-oauth2-jose") { + exclude group: "org.springframework.security", module: "spring-security-crypto" } - api("org.springframework.security:spring-security-oauth2-jose") } diff --git a/spring-boot-project/spring-boot-starters/spring-boot-starter-oauth2-resource-server/build.gradle b/spring-boot-project/spring-boot-starters/spring-boot-starter-oauth2-resource-server/build.gradle index a91da01d8d6..1fcc9b8b60d 100644 --- a/spring-boot-project/spring-boot-starters/spring-boot-starter-oauth2-resource-server/build.gradle +++ b/spring-boot-project/spring-boot-starters/spring-boot-starter-oauth2-resource-server/build.gradle @@ -6,8 +6,16 @@ description = "Starter for using Spring Security's OAuth2 resource server featur dependencies { api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter")) - api("org.springframework.security:spring-security-config") - api("org.springframework.security:spring-security-core") - api("org.springframework.security:spring-security-oauth2-resource-server") - api("org.springframework.security:spring-security-oauth2-jose") + api("org.springframework.security:spring-security-config") { + exclude group: "org.springframework.security", module: "spring-security-crypto" + } + api("org.springframework.security:spring-security-core") { + exclude group: "org.springframework.security", module: "spring-security-crypto" + } + api("org.springframework.security:spring-security-oauth2-resource-server") { + exclude group: "org.springframework.security", module: "spring-security-crypto" + } + api("org.springframework.security:spring-security-oauth2-jose") { + exclude group: "org.springframework.security", module: "spring-security-crypto" + } } diff --git a/spring-boot-project/spring-boot-starters/spring-boot-starter-security/build.gradle b/spring-boot-project/spring-boot-starters/spring-boot-starter-security/build.gradle index c6e63f44efa..2025b640188 100644 --- a/spring-boot-project/spring-boot-starters/spring-boot-starter-security/build.gradle +++ b/spring-boot-project/spring-boot-starters/spring-boot-starter-security/build.gradle @@ -7,6 +7,10 @@ description = "Starter for using Spring Security" dependencies { api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter")) api("org.springframework:spring-aop") - api("org.springframework.security:spring-security-config") - api("org.springframework.security:spring-security-web") + api("org.springframework.security:spring-security-config") { + exclude group: "org.springframework.security", module: "spring-security-crypto" + } + api("org.springframework.security:spring-security-web") { + exclude group: "org.springframework.security", module: "spring-security-crypto" + } }