From 9c43e8545c06d8e31cebd1656ae52aaf323430da Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:04:58 +0000 Subject: [PATCH 01/22] Upgrade to Byte Buddy 1.14.12 Closes gh-39665 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 67314a4265c..60af3d83a93 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -123,7 +123,7 @@ bom { ] } } - library("Byte Buddy", "1.14.11") { + library("Byte Buddy", "1.14.12") { group("net.bytebuddy") { modules = [ "byte-buddy", From cceb7fd609c469bba2012067e5cf95428c7171e5 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:03 +0000 Subject: [PATCH 02/22] Upgrade to Jackson Bom 2.15.4 Closes gh-39666 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 7121b3e74ee..811098d49ec 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ assertjVersion=3.24.2 commonsCodecVersion=1.16.1 commonsCompressVersion=1.21 hamcrestVersion=2.2 -jacksonVersion=2.15.3 +jacksonVersion=2.15.4 junitJupiterVersion=5.10.2 kotlinVersion=1.9.22 mavenVersion=3.9.4 From b163b70b2896079811b03d154996e5308a50cb21 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:09 +0000 Subject: [PATCH 03/22] Upgrade to jOOQ 3.18.11 Closes gh-39667 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 60af3d83a93..a1ac6fcc59a 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -697,7 +697,7 @@ bom { ] } } - library("jOOQ", "3.18.10") { + library("jOOQ", "3.18.11") { group("org.jooq") { modules = [ "jooq", From edc80ec39a9f8cf47090d2c6f945c5fa26b717e8 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:14 +0000 Subject: [PATCH 04/22] Upgrade to Kotlin Serialization 1.6.3 Closes gh-39668 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index a1ac6fcc59a..3c8ac242b98 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -814,7 +814,7 @@ bom { ] } } - library("Kotlin Serialization", "1.6.2") { + library("Kotlin Serialization", "1.6.3") { group("org.jetbrains.kotlinx") { imports = [ "kotlinx-serialization-bom" From 4924af999943dc74188ccacc6582cad2b06f32a7 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:19 +0000 Subject: [PATCH 05/22] Upgrade to MariaDB 3.3.3 Closes gh-39669 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 3c8ac242b98..c74f0a23628 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -862,7 +862,7 @@ bom { ] } } - library("MariaDB", "3.3.2") { + library("MariaDB", "3.3.3") { group("org.mariadb.jdbc") { modules = [ "mariadb-java-client" From 2fa921c010a4e53dcc7f3714fb54c1a7a76f7f69 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:24 +0000 Subject: [PATCH 06/22] Upgrade to Maven Shade Plugin 3.5.2 Closes gh-39670 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index c74f0a23628..a10880860ea 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -967,7 +967,7 @@ bom { ] } } - library("Maven Shade Plugin", "3.5.1") { + library("Maven Shade Plugin", "3.5.2") { group("org.apache.maven.plugins") { plugins = [ "maven-shade-plugin" From 9411da2a2452739739eeeb8013807ebccd5e8a4e Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:29 +0000 Subject: [PATCH 07/22] Upgrade to Postgresql 42.6.1 Closes gh-39671 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index a10880860ea..146b27c4b3d 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1123,7 +1123,7 @@ bom { ] } } - library("Postgresql", "42.6.0") { + library("Postgresql", "42.6.1") { group("org.postgresql") { modules = [ "postgresql" From fcc1e1e806597f077182ae0359791f6d1bb76339 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:33 +0000 Subject: [PATCH 08/22] Upgrade to Pulsar Reactive 0.5.3 Closes gh-39672 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 146b27c4b3d..ac938dd458a 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1216,7 +1216,7 @@ bom { ] } } - library("Pulsar Reactive", "0.5.2") { + library("Pulsar Reactive", "0.5.3") { group("org.apache.pulsar") { modules = [ "pulsar-client-reactive-adapter", From bc6282520192f51e566445a4ecd66c44f538b1fa Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:34 +0000 Subject: [PATCH 09/22] Upgrade to Reactor Bom 2023.0.3 Closes gh-39476 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index ac938dd458a..62afcbbf168 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1327,7 +1327,7 @@ bom { ] } } - library("Reactor Bom", "2023.0.3-SNAPSHOT") { + library("Reactor Bom", "2023.0.3") { considerSnapshots() calendarName = "Reactor" group("io.projectreactor") { From 32da1bf3a15ed26ecfcce860c7e04dd6ca390e58 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:35 +0000 Subject: [PATCH 10/22] Upgrade to Spring AMQP 3.1.2 Closes gh-39477 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 62afcbbf168..c30c4e7329e 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1495,7 +1495,7 @@ bom { ] } } - library("Spring AMQP", "3.1.2-SNAPSHOT") { + library("Spring AMQP", "3.1.2") { considerSnapshots() group("org.springframework.amqp") { imports = [ From c20b274cefdfa078f13ba39a7f970a705b949291 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:36 +0000 Subject: [PATCH 11/22] Upgrade to Spring Authorization Server 1.2.2 Closes gh-39478 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index c30c4e7329e..f30d3f2d719 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1503,7 +1503,7 @@ bom { ] } } - library("Spring Authorization Server", "1.2.2-SNAPSHOT") { + library("Spring Authorization Server", "1.2.2") { considerSnapshots() group("org.springframework.security") { modules = [ From ae464bfb2dd17b31306e315b2ca602dc924f44c8 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:37 +0000 Subject: [PATCH 12/22] Upgrade to Spring Batch 5.1.1 Closes gh-39479 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index f30d3f2d719..f9d04812350 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1511,7 +1511,7 @@ bom { ] } } - library("Spring Batch", "5.1.1-SNAPSHOT") { + library("Spring Batch", "5.1.1") { considerSnapshots() group("org.springframework.batch") { imports = [ From adefc21024a64eae115d2eef0e3daa522573ef69 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:37 +0000 Subject: [PATCH 13/22] Upgrade to Spring Data Bom 2023.1.3 Closes gh-39480 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index f9d04812350..5e44d757729 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1519,7 +1519,7 @@ bom { ] } } - library("Spring Data Bom", "2023.1.3-SNAPSHOT") { + library("Spring Data Bom", "2023.1.3") { considerSnapshots() calendarName = "Spring Data Release" group("org.springframework.data") { From 3b9b4f2b7956e131a2078caf243da249eb7b20ef Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:38 +0000 Subject: [PATCH 14/22] Upgrade to Spring Framework 6.1.4 Closes gh-39481 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 811098d49ec..20e8df7090b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,7 +13,7 @@ junitJupiterVersion=5.10.2 kotlinVersion=1.9.22 mavenVersion=3.9.4 nativeBuildToolsVersion=0.9.28 -springFrameworkVersion=6.1.4-SNAPSHOT +springFrameworkVersion=6.1.4 tomcatVersion=10.1.18 kotlin.stdlib.default.dependency=false From e67ee7a081c5fc96c5531ecac554fac58817471d Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:39 +0000 Subject: [PATCH 15/22] Upgrade to Spring GraphQL 1.2.5 Closes gh-39482 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 5e44d757729..ad6d5aa9110 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1537,7 +1537,7 @@ bom { ] } } - library("Spring GraphQL", "1.2.5-SNAPSHOT") { + library("Spring GraphQL", "1.2.5") { considerSnapshots() group("org.springframework.graphql") { modules = [ From 398fb157581b0cfc3cad0ae1a454bbc23797e597 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:39 +0000 Subject: [PATCH 16/22] Upgrade to Spring Integration 6.2.2 Closes gh-39483 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index ad6d5aa9110..21c68ad1c32 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1554,7 +1554,7 @@ bom { ] } } - library("Spring Integration", "6.2.2-SNAPSHOT") { + library("Spring Integration", "6.2.2") { considerSnapshots() group("org.springframework.integration") { imports = [ From 506438e7728e295cfa7cc40e77e581f0cd90c028 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:40 +0000 Subject: [PATCH 17/22] Upgrade to Spring Kafka 3.1.2 Closes gh-39484 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 21c68ad1c32..6a1b770b4ce 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1562,7 +1562,7 @@ bom { ] } } - library("Spring Kafka", "3.1.2-SNAPSHOT") { + library("Spring Kafka", "3.1.2") { considerSnapshots() group("org.springframework.kafka") { modules = [ From 6158fa08c9a93c422e068fe2fe40c6e2da2f5266 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:41 +0000 Subject: [PATCH 18/22] Upgrade to Spring LDAP 3.2.2 Closes gh-39485 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 6a1b770b4ce..0c32d2d67fd 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1571,7 +1571,7 @@ bom { ] } } - library("Spring LDAP", "3.2.2-SNAPSHOT") { + library("Spring LDAP", "3.2.2") { considerSnapshots() group("org.springframework.ldap") { modules = [ From 34a45d26081bc3fecb7fc0027550edf0fbb3a745 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:42 +0000 Subject: [PATCH 19/22] Upgrade to Spring Pulsar 1.0.3 Closes gh-39486 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 0c32d2d67fd..c7973cd0f8a 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1582,7 +1582,7 @@ bom { ] } } - library("Spring Pulsar", "1.0.3-SNAPSHOT") { + library("Spring Pulsar", "1.0.3") { considerSnapshots() group("org.springframework.pulsar") { imports = [ From d86fa721b577a1c5136994c22506b6d84fd52ce4 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:43 +0000 Subject: [PATCH 20/22] Upgrade to Spring Security 6.2.2 Closes gh-39487 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index c7973cd0f8a..99f7bd4da22 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1606,7 +1606,7 @@ bom { ] } } - library("Spring Security", "6.2.2-SNAPSHOT") { + library("Spring Security", "6.2.2") { considerSnapshots() group("org.springframework.security") { imports = [ From 71e3a92f3ced4645d03c5a5c2090528522c6ff6e Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:47 +0000 Subject: [PATCH 21/22] Upgrade to Tomcat 10.1.19 Closes gh-39673 --- gradle.properties | 2 +- .../web/embedded/tomcat/GracefulShutdown.java | 57 ++++++++++++------- 2 files changed, 36 insertions(+), 23 deletions(-) diff --git a/gradle.properties b/gradle.properties index 20e8df7090b..c6724149b9d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,6 +14,6 @@ kotlinVersion=1.9.22 mavenVersion=3.9.4 nativeBuildToolsVersion=0.9.28 springFrameworkVersion=6.1.4 -tomcatVersion=10.1.18 +tomcatVersion=10.1.19 kotlin.stdlib.default.dependency=false diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/GracefulShutdown.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/GracefulShutdown.java index 3215a0de860..2accad1852a 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/GracefulShutdown.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/GracefulShutdown.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -19,6 +19,7 @@ package org.springframework.boot.web.embedded.tomcat; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.concurrent.CountDownLatch; import org.apache.catalina.Container; import org.apache.catalina.Service; @@ -51,32 +52,44 @@ final class GracefulShutdown { void shutDownGracefully(GracefulShutdownCallback callback) { logger.info("Commencing graceful shutdown. Waiting for active requests to complete"); - new Thread(() -> doShutdown(callback), "tomcat-shutdown").start(); - } - - private void doShutdown(GracefulShutdownCallback callback) { - List connectors = getConnectors(); - connectors.forEach(this::close); + CountDownLatch shutdownUnderway = new CountDownLatch(1); + new Thread(() -> doShutdown(callback, shutdownUnderway), "tomcat-shutdown").start(); try { - for (Container host : this.tomcat.getEngine().findChildren()) { - for (Container context : host.findChildren()) { - while (!this.aborted && isActive(context)) { - Thread.sleep(50); - } - if (this.aborted) { - logger.info("Graceful shutdown aborted with one or more requests still active"); - callback.shutdownComplete(GracefulShutdownResult.REQUESTS_ACTIVE); - return; - } - } - } - + shutdownUnderway.await(); } catch (InterruptedException ex) { Thread.currentThread().interrupt(); } - logger.info("Graceful shutdown complete"); - callback.shutdownComplete(GracefulShutdownResult.IDLE); + } + + private void doShutdown(GracefulShutdownCallback callback, CountDownLatch shutdownUnderway) { + try { + List connectors = getConnectors(); + connectors.forEach(this::close); + shutdownUnderway.countDown(); + try { + for (Container host : this.tomcat.getEngine().findChildren()) { + for (Container context : host.findChildren()) { + while (!this.aborted && isActive(context)) { + Thread.sleep(50); + } + if (this.aborted) { + logger.info("Graceful shutdown aborted with one or more requests still active"); + callback.shutdownComplete(GracefulShutdownResult.REQUESTS_ACTIVE); + return; + } + } + } + } + catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + } + logger.info("Graceful shutdown complete"); + callback.shutdownComplete(GracefulShutdownResult.IDLE); + } + finally { + shutdownUnderway.countDown(); + } } private List getConnectors() { From b199e49e404aef8810d6dc78580844b76114166a Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 21 Feb 2024 21:05:53 +0000 Subject: [PATCH 22/22] Upgrade to Undertow 2.3.12.Final Closes gh-39674 --- spring-boot-project/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 99f7bd4da22..e5f445ef646 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1701,7 +1701,7 @@ bom { ] } } - library("Undertow", "2.3.11.Final") { + library("Undertow", "2.3.12.Final") { group("io.undertow") { modules = [ "undertow-core",