From 4258953190f6bd77d19b583a6535c9ee692091a9 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 23 Aug 2024 14:56:20 +0100 Subject: [PATCH] Ensure that building the SNI test apps produces Java 17 bytecode See gh-41980 --- .../spring-boot-sni-client-app/build.gradle | 5 +++++ .../spring-boot-sni-reactive-app/build.gradle | 7 ++++++- .../spring-boot-sni-servlet-app/build.gradle | 7 ++++++- .../springframework/boot/sni/SniIntegrationTests.java | 9 ++++++++- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/spring-boot-sni-client-app/build.gradle b/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/spring-boot-sni-client-app/build.gradle index 3d8ee7040c..416a2061fb 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/spring-boot-sni-client-app/build.gradle +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/spring-boot-sni-client-app/build.gradle @@ -5,6 +5,11 @@ plugins { apply plugin: "io.spring.dependency-management" +java { + sourceCompatibility = '17' + targetCompatibility = '17' +} + repositories { maven { url "file:${rootDir}/../int-test-maven-repository"} mavenCentral() diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/spring-boot-sni-reactive-app/build.gradle b/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/spring-boot-sni-reactive-app/build.gradle index e38367a66b..367da50830 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/spring-boot-sni-reactive-app/build.gradle +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/spring-boot-sni-reactive-app/build.gradle @@ -2,11 +2,16 @@ import org.springframework.boot.gradle.tasks.bundling.BootJar plugins { id "java" - id "org.springframework.boot" version "3.3.0-SNAPSHOT" + id "org.springframework.boot" } apply plugin: "io.spring.dependency-management" +java { + sourceCompatibility = '17' + targetCompatibility = '17' +} + repositories { maven { url "file:${rootDir}/../int-test-maven-repository"} mavenCentral() diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/spring-boot-sni-servlet-app/build.gradle b/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/spring-boot-sni-servlet-app/build.gradle index 8a7548629e..9a4275e643 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/spring-boot-sni-servlet-app/build.gradle +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/spring-boot-sni-servlet-app/build.gradle @@ -2,11 +2,16 @@ import org.springframework.boot.gradle.tasks.bundling.BootJar plugins { id "java" - id "org.springframework.boot" version "3.3.0-SNAPSHOT" + id "org.springframework.boot" } apply plugin: "io.spring.dependency-management" +java { + sourceCompatibility = '17' + targetCompatibility = '17' +} + repositories { maven { url "file:${rootDir}/../int-test-maven-repository"} mavenCentral() diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/src/intTest/java/org/springframework/boot/sni/SniIntegrationTests.java b/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/src/intTest/java/org/springframework/boot/sni/SniIntegrationTests.java index 4fe4c177d5..8140199551 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/src/intTest/java/org/springframework/boot/sni/SniIntegrationTests.java +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-sni-tests/src/intTest/java/org/springframework/boot/sni/SniIntegrationTests.java @@ -21,6 +21,7 @@ import java.time.Duration; import java.util.Map; import org.awaitility.Awaitility; +import org.awaitility.core.ConditionTimeoutException; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; import org.testcontainers.containers.GenericContainer; @@ -56,7 +57,13 @@ class SniIntegrationTests { void home(String webStack, String server) { try (ApplicationContainer serverContainer = new ServerApplicationContainer(webStack, server)) { serverContainer.start(); - Awaitility.await().atMost(Duration.ofSeconds(60)).until(serverContainer::isRunning); + try { + Awaitility.await().atMost(Duration.ofSeconds(60)).until(serverContainer::isRunning); + } + catch (ConditionTimeoutException ex) { + System.out.println(serverContainer.getLogs()); + throw ex; + } String serverLogs = serverContainer.getLogs(); assertThat(serverLogs).contains(SERVER_START_MESSAGES.get(server)); try (ApplicationContainer clientContainer = new ClientApplicationContainer()) {