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-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..8e97158ba0 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 = [ @@ -255,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" ] } } @@ -345,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", @@ -450,65 +452,42 @@ 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" ] } } - 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" ] } } - 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" ] } } - 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" ] } } - 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" ] } } - 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" @@ -522,10 +501,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" @@ -575,30 +551,21 @@ 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" ] } } - 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" ] } } - 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" @@ -1300,10 +1267,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" @@ -1489,13 +1453,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 = [ @@ -1599,10 +1556,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" 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") } 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") } }