From 3a2703e8f60cb8664dd2cee605b522146ee41bd5 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Sun, 6 Nov 2022 20:20:58 +0000 Subject: [PATCH 01/11] Upgrade to Jakarta Mail 2.1 and switch to Eclipse Angus RI Closes gh-33059 Closes gh-33050 --- .../build.gradle | 2 +- .../spring-boot-actuator/build.gradle | 2 +- .../spring-boot-autoconfigure/build.gradle | 2 +- .../spring-boot-dependencies/build.gradle | 27 +++++++++++-------- .../spring-boot-starter-mail/build.gradle | 2 +- 5 files changed, 20 insertions(+), 15 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/build.gradle b/spring-boot-project/spring-boot-actuator-autoconfigure/build.gradle index 2a35f4db67..e391b8491f 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/build.gradle +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/build.gradle @@ -43,7 +43,6 @@ dependencies { optional("com.github.ben-manes.caffeine:caffeine") optional("com.hazelcast:hazelcast") optional("com.hazelcast:hazelcast-spring") - optional("com.sun.mail:jakarta.mail") optional("com.zaxxer:HikariCP") optional("io.dropwizard.metrics:metrics-jmx") optional("io.lettuce:lettuce-core") @@ -100,6 +99,7 @@ dependencies { optional("org.aspectj:aspectjweaver") optional("org.cache2k:cache2k-micrometer") optional("org.cache2k:cache2k-spring") + optional("org.eclipse.angus:angus-mail") optional("org.eclipse.jetty:jetty-server") { exclude group: "org.eclipse.jetty.toolchain", module: "jetty-jakarta-servlet-api" } diff --git a/spring-boot-project/spring-boot-actuator/build.gradle b/spring-boot-project/spring-boot-actuator/build.gradle index 9afd93c1cc..1b89ee5f06 100644 --- a/spring-boot-project/spring-boot-actuator/build.gradle +++ b/spring-boot-project/spring-boot-actuator/build.gradle @@ -19,7 +19,6 @@ dependencies { optional("com.github.ben-manes.caffeine:caffeine") optional("com.hazelcast:hazelcast") optional("com.hazelcast:hazelcast-spring") - optional("com.sun.mail:jakarta.mail") optional("com.zaxxer:HikariCP") optional("io.lettuce:lettuce-core") optional("io.micrometer:micrometer-observation") @@ -38,6 +37,7 @@ dependencies { optional("org.aspectj:aspectjweaver") optional("org.cache2k:cache2k-micrometer") optional("org.cache2k:cache2k-spring") + optional("org.eclipse.angus:angus-mail") optional("org.eclipse.jetty:jetty-server") { exclude(group: "org.eclipse.jetty.toolchain", module: "jetty-jakarta-servlet-api") } diff --git a/spring-boot-project/spring-boot-autoconfigure/build.gradle b/spring-boot-project/spring-boot-autoconfigure/build.gradle index b3a97ccb8e..7420c840a2 100644 --- a/spring-boot-project/spring-boot-autoconfigure/build.gradle +++ b/spring-boot-project/spring-boot-autoconfigure/build.gradle @@ -29,7 +29,6 @@ dependencies { optional("com.oracle.database.jdbc:ojdbc8") optional("com.oracle.database.jdbc:ucp") optional("com.samskivert:jmustache") - optional("com.sun.mail:jakarta.mail") optional("io.lettuce:lettuce-core") optional("io.projectreactor.netty:reactor-netty-http") optional("io.r2dbc:r2dbc-spi") @@ -65,6 +64,7 @@ dependencies { optional("org.apache.tomcat:tomcat-jdbc") optional("org.apiguardian:apiguardian-api") optional("org.apache.groovy:groovy-templates") + optional("org.eclipse.angus:angus-mail") optional("com.github.ben-manes.caffeine:caffeine") optional("com.github.mxab.thymeleaf.extras:thymeleaf-extras-data-attribute") optional("com.sendgrid:sendgrid-java") { diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index abf9df9c6a..f12e46ca09 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -14,6 +14,21 @@ bom { issueLabels = ["type: dependency-upgrade"] } } + library("Angus Mail", "1.0.0") { + group("org.eclipse.angus") { + modules = [ + "angus-core", + "angus-mail", + "angus-dsn", + "angus-gimap", + "angus-imap", + "jakarta.mail", + "logging-mailhandler", + "pop3", + "smtp" + ] + } + } library("Artemis", "2.26.0") { group("org.apache.activemq") { modules = [ @@ -505,10 +520,7 @@ bom { ] } } - library("Jakarta Mail", "2.0.1") { - prohibit("[2.1.0-RC1,)") { - because "it exceeds our Jakarta EE 9 baseline" - } + library("Jakarta Mail", "2.1.0") { group("jakarta.mail") { modules = [ "jakarta.mail-api" @@ -1489,13 +1501,6 @@ bom { ] } } - library("Sun Mail", "2.0.1") { - group("com.sun.mail") { - modules = [ - "jakarta.mail" - ] - } - } library("Thymeleaf", "3.1.0.RC1") { group("org.thymeleaf") { modules = [ diff --git a/spring-boot-project/spring-boot-starters/spring-boot-starter-mail/build.gradle b/spring-boot-project/spring-boot-starters/spring-boot-starter-mail/build.gradle index 07ae466625..73cb72a7ea 100644 --- a/spring-boot-project/spring-boot-starters/spring-boot-starter-mail/build.gradle +++ b/spring-boot-project/spring-boot-starters/spring-boot-starter-mail/build.gradle @@ -7,5 +7,5 @@ description = "Starter for using Java Mail and Spring Framework's email sending dependencies { api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter")) api("org.springframework:spring-context-support") - api("com.sun.mail:jakarta.mail") + api("org.eclipse.angus:jakarta.mail") } From 9cdea13c56c1e84215ff72824f8fe36b81aadc19 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 8 Nov 2022 09:10:42 +0000 Subject: [PATCH 02/11] Upgrade to Jakarta XML Bind 4.0.0 and Glassfish JAXB 4.0.1 Closes gh-33055 Closes gh-33052 --- .../spring-boot-dependencies/build.gradle | 21 ++++--------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index f12e46ca09..d48b259778 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -270,20 +270,10 @@ bom { ] } } - library("Glassfish JAXB", "3.0.2") { - prohibit("[3.1.0-M1,)") { - because "it exceeds our Jakarta EE 9 baseline" - } + library("Glassfish JAXB", "4.0.1") { group("org.glassfish.jaxb") { - modules = [ - "codemodel", - "codemodel-annotation-compiler", - "jaxb-jxc", - "jaxb-runtime", - "jaxb-xjc", - "txw2", - "txwc2", - "xsom" + imports = [ + "jaxb-bom" ] } } @@ -587,10 +577,7 @@ bom { ] } } - library("Jakarta XML Bind", "3.0.1") { - prohibit("[4.0.0-RC1,)") { - because "it exceeds our Jakarta EE 9 baseline" - } + library("Jakarta XML Bind", "4.0.0") { group("jakarta.xml.bind") { modules = [ "jakarta.xml.bind-api" From 47c453f4733fa1e84e8241284b4f322065e2bc12 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 8 Nov 2022 09:13:52 +0000 Subject: [PATCH 03/11] Upgrade to Hibernate Validator 8.0.0.Final Closes gh-33056 --- spring-boot-project/spring-boot-dependencies/build.gradle | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index d48b259778..37ddd47d8a 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -350,10 +350,7 @@ bom { ] } } - library("Hibernate Validator", "7.0.5.Final") { - prohibit("[8.0.0.Alpha1,)") { - because "it exceeds our Jakarta EE 9 baseline" - } + library("Hibernate Validator", "8.0.0.Final") { group("org.hibernate.validator") { modules = [ "hibernate-validator", From 335986ee4e5700436d7703d199fffe1081603e96 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 8 Nov 2022 09:14:20 +0000 Subject: [PATCH 04/11] Upgrade to Jakarta Persistence 3.1.0 Closes gh-33051 --- spring-boot-project/spring-boot-dependencies/build.gradle | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 37ddd47d8a..e672ea6df1 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -521,10 +521,7 @@ bom { ] } } - library("Jakarta Persistence", "3.0.0") { - prohibit("[3.1.0-RC1,)") { - because "it exceeds our Jakarta EE 9 baseline" - } + library("Jakarta Persistence", "3.1.0") { group("jakarta.persistence") { modules = [ "jakarta.persistence-api" From c27948c725dc571ec5c44b44bd4414e594a0f36b Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 8 Nov 2022 09:15:28 +0000 Subject: [PATCH 05/11] Upgrade to Jakarta Json 2.1.1 Closes gh-33048 --- spring-boot-project/spring-boot-dependencies/build.gradle | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index e672ea6df1..78ae7bc912 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -487,10 +487,7 @@ bom { ] } } - library("Jakarta Json", "2.0.2") { - prohibit("[2.1.0-RC1,)") { - because "it exceeds our Jakarta EE 9 baseline" - } + library("Jakarta Json", "2.1.1") { group("jakarta.json") { modules = [ "jakarta.json-api" From 524d0599b1fcf9bcc0ef4ff2874865988d1a48c7 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 8 Nov 2022 09:16:54 +0000 Subject: [PATCH 06/11] Upgrade to Jakarta Json Bind 3.0.0 and Yasson 3.0.0 Closes gh-33049 Closes gh-33058 --- .../spring-boot-dependencies/build.gradle | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 78ae7bc912..d9d9941a6a 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -494,10 +494,7 @@ bom { ] } } - library("Jakarta Json Bind", "2.0.0") { - prohibit("[3.0.0-RC1,)") { - because "it exceeds our Jakarta EE 9 baseline" - } + library("Jakarta Json Bind", "3.0.0") { group("jakarta.json.bind") { modules = [ "jakarta.json.bind-api" @@ -1582,10 +1579,7 @@ bom { ] } } - library("Yasson", "2.0.4") { - prohibit("[3.0.0-RC1,)") { - because "it exceeds our Jakarta EE 9 baseline" - } + library("Yasson", "3.0.0") { group("org.eclipse") { modules = [ "yasson" From b357239861149c59618b39889647375c0cd4d427 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 8 Nov 2022 09:47:27 +0000 Subject: [PATCH 07/11] Upgrade to Jakarta Activation 2.1.0 Closes gh-33045 --- .../CheckClasspathForProhibitedDependencies.java | 3 +++ .../spring-boot-dependencies/build.gradle | 10 +--------- .../spring-boot-test-autoconfigure/build.gradle | 3 ++- spring-boot-project/spring-boot-test/build.gradle | 1 + .../spring-boot-smoke-test-test/build.gradle | 1 + 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/buildSrc/src/main/java/org/springframework/boot/build/classpath/CheckClasspathForProhibitedDependencies.java b/buildSrc/src/main/java/org/springframework/boot/build/classpath/CheckClasspathForProhibitedDependencies.java index 005a900c88..56814c827e 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/classpath/CheckClasspathForProhibitedDependencies.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/classpath/CheckClasspathForProhibitedDependencies.java @@ -96,6 +96,9 @@ public class CheckClasspathForProhibitedDependencies extends DefaultTask { if (group.equals("org.apache.geronimo.specs")) { return true; } + if (group.equals("com.sun.activation")) { + return true; + } return false; } diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index d9d9941a6a..b0e1fbec8f 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -452,15 +452,7 @@ bom { ] } } - library("Jakarta Activation", "2.0.1") { - prohibit("[2.1.0-RC1,)") { - because "it exceeds our Jakarta EE 9 baseline" - } - group("com.sun.activation") { - modules = [ - "jakarta.activation" - ] - } + library("Jakarta Activation", "2.1.0") { group("jakarta.activation") { modules = [ "jakarta.activation-api" diff --git a/spring-boot-project/spring-boot-test-autoconfigure/build.gradle b/spring-boot-project/spring-boot-test-autoconfigure/build.gradle index 1119f2c521..eb4968cdf0 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/build.gradle +++ b/spring-boot-project/spring-boot-test-autoconfigure/build.gradle @@ -26,7 +26,8 @@ dependencies { optional("org.hibernate.orm:hibernate-core") optional("org.junit.jupiter:junit-jupiter-api") optional("org.seleniumhq.selenium:htmlunit-driver") { - exclude group: "commons-logging", module: "commons-logging" + exclude(group: "commons-logging", module: "commons-logging") + exclude(group: "com.sun.activation", module: "jakarta.activation") } optional("org.seleniumhq.selenium:selenium-api") optional("org.springframework:spring-orm") diff --git a/spring-boot-project/spring-boot-test/build.gradle b/spring-boot-project/spring-boot-test/build.gradle index 530a616460..3094feadbd 100644 --- a/spring-boot-project/spring-boot-test/build.gradle +++ b/spring-boot-project/spring-boot-test/build.gradle @@ -29,6 +29,7 @@ dependencies { optional("org.skyscreamer:jsonassert") optional("org.seleniumhq.selenium:htmlunit-driver") { exclude(group: "commons-logging", module: "commons-logging") + exclude(group: "com.sun.activation", module: "jakarta.activation") } optional("org.seleniumhq.selenium:selenium-api") optional("org.springframework:spring-test") diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-test/build.gradle b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-test/build.gradle index c67dfd4f9c..3544726c57 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-test/build.gradle +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-test/build.gradle @@ -19,5 +19,6 @@ dependencies { testImplementation("org.seleniumhq.selenium:selenium-api") testImplementation("org.seleniumhq.selenium:htmlunit-driver") { exclude group: "commons-logging", module: "commons-logging" + exclude(group: "com.sun.activation", module: "jakarta.activation") } } From 01940144af829b10e3811464f3c709d207ab4533 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 8 Nov 2022 09:47:55 +0000 Subject: [PATCH 08/11] Upgrade to Jakarta Annotation 2.1.1 Closes gh-33046 --- spring-boot-project/spring-boot-dependencies/build.gradle | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index b0e1fbec8f..da6a0eefe3 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -459,10 +459,7 @@ bom { ] } } - library("Jakarta Annotation", "2.0.0") { - prohibit("[2.1.0-B1,)") { - because "it exceeds our Jakarta EE 9 baseline" - } + library("Jakarta Annotation", "2.1.1") { group("jakarta.annotation") { modules = [ "jakarta.annotation-api" From e274dbcfc4638edbd08b1c2263e952986571cc72 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 8 Nov 2022 09:48:15 +0000 Subject: [PATCH 09/11] Upgrade to Jakarta JMS 3.1.0 Closes gh-33047 --- spring-boot-project/spring-boot-dependencies/build.gradle | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index da6a0eefe3..7e2960be6d 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -466,10 +466,7 @@ bom { ] } } - library("Jakarta JMS", "3.0.0") { - prohibit("[3.1.0,)") { - because "it exceeds our Jakarta EE 9 baseline" - } + library("Jakarta JMS", "3.1.0") { group("jakarta.jms") { modules = [ "jakarta.jms-api" From 918182bfdf814840ea0dc5a2d3466f756167f836 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 8 Nov 2022 09:51:17 +0000 Subject: [PATCH 10/11] Upgrade to Jakarta XML SOAP and SAAJ Impl 3.0.0 Closes gh-33053 Closes gh-33057 --- .../spring-boot-dependencies/build.gradle | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 7e2960be6d..8f0b69d953 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -558,10 +558,7 @@ bom { ] } } - library("Jakarta XML SOAP", "2.0.1") { - prohibit("[3.0.0-RC1,)") { - because "it exceeds our Jakarta EE 9 baseline" - } + library("Jakarta XML SOAP", "3.0.0") { group("jakarta.xml.soap") { modules = [ "jakarta.xml.soap-api" @@ -1273,10 +1270,7 @@ bom { ] } } - library("SAAJ Impl", "2.0.1") { - prohibit("[3.0.0-M1,)") { - because "it exceeds our Jakarta EE 9 baseline" - } + library("SAAJ Impl", "3.0.0") { group("com.sun.xml.messaging.saaj") { modules = [ "saaj-impl" From b1fcc383383496ad5f3a536372b9f7e848711403 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 8 Nov 2022 09:51:51 +0000 Subject: [PATCH 11/11] Upgrade to Jakara XML WS 4.0.0 Closes gh-33054 --- spring-boot-project/spring-boot-dependencies/build.gradle | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 8f0b69d953..8e97158ba0 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -565,10 +565,7 @@ bom { ] } } - library("Jakarta XML WS", "3.0.1") { - prohibit("[4.0.0-RC1,)") { - because "it exceeds our Jakarta EE 9 baseline" - } + library("Jakarta XML WS", "4.0.0") { group("jakarta.xml.ws") { modules = [ "jakarta.xml.ws-api"