Moritz Halbritter 73150b799a Merge branch '3.2.x' into 3.3.x
Closes gh-42772
2024-10-17 17:58:11 +02:00

91 lines
4.0 KiB
Groovy

plugins {
id "java"
id "org.springframework.boot.integration-test"
}
description = "Spring Boot SNI Integration Tests"
configurations {
app
}
dependencies {
app project(path: ":spring-boot-project:spring-boot-dependencies", configuration: "mavenRepository")
app project(path: ":spring-boot-project:spring-boot-starters:spring-boot-starter", configuration: "mavenRepository")
app project(path: ":spring-boot-project:spring-boot-starters:spring-boot-starter-actuator", configuration: "mavenRepository")
app project(path: ":spring-boot-project:spring-boot-starters:spring-boot-starter-tomcat", configuration: "mavenRepository")
app project(path: ":spring-boot-project:spring-boot-starters:spring-boot-starter-undertow", configuration: "mavenRepository")
app project(path: ":spring-boot-project:spring-boot-starters:spring-boot-starter-web", configuration: "mavenRepository")
app project(path: ":spring-boot-project:spring-boot-starters:spring-boot-starter-webflux", configuration: "mavenRepository")
app project(path: ":spring-boot-project:spring-boot-tools:spring-boot-gradle-plugin", configuration: "mavenRepository")
intTestImplementation(enforcedPlatform(project(":spring-boot-project:spring-boot-parent")))
intTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
intTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
intTestImplementation("org.testcontainers:junit-jupiter")
intTestImplementation("org.testcontainers:testcontainers")
}
task syncMavenRepository(type: Sync) {
from configurations.app
into layout.buildDirectory.dir("int-test-maven-repository")
}
task syncReactiveServerAppSource(type: org.springframework.boot.build.SyncAppSource) {
sourceDirectory = file("spring-boot-sni-reactive-app")
destinationDirectory = file(layout.buildDirectory.dir("spring-boot-sni-reactive-app"))
}
task buildReactiveServerApps(type: GradleBuild) {
dependsOn syncReactiveServerAppSource, syncMavenRepository
dir = layout.buildDirectory.dir("spring-boot-sni-reactive-app")
startParameter.buildCacheEnabled = false
tasks = [
"nettyServerApp",
"tomcatServerApp",
"undertowServerApp"
]
}
task syncServletServerAppSource(type: org.springframework.boot.build.SyncAppSource) {
sourceDirectory = file("spring-boot-sni-servlet-app")
destinationDirectory = file(layout.buildDirectory.dir("spring-boot-sni-servlet-app"))
}
task buildServletServerApps(type: GradleBuild) {
dependsOn syncServletServerAppSource, syncMavenRepository
dir = layout.buildDirectory.dir("spring-boot-sni-servlet-app")
startParameter.buildCacheEnabled = false
tasks = [
"tomcatServerApp",
"undertowServerApp"
]
}
task syncClientAppSource(type: org.springframework.boot.build.SyncAppSource) {
sourceDirectory = file("spring-boot-sni-client-app")
destinationDirectory = file(layout.buildDirectory.dir("spring-boot-sni-client-app"))
}
task buildClientApp(type: GradleBuild) {
dependsOn syncClientAppSource, syncMavenRepository
dir = layout.buildDirectory.dir("spring-boot-sni-client-app")
startParameter.buildCacheEnabled = false
tasks = ["build"]
}
intTest {
inputs.files(
layout.buildDirectory.file("spring-boot-server-tests-app/build/libs/spring-boot-server-tests-app-netty-reactive.jar"),
layout.buildDirectory.file("spring-boot-server-tests-app/build/libs/spring-boot-server-tests-app-tomcat-reactive.jar"),
layout.buildDirectory.file("spring-boot-server-tests-app/build/libs/spring-boot-server-tests-app-tomcat-servlet.jar"),
layout.buildDirectory.file("spring-boot-server-tests-app/build/libs/spring-boot-server-tests-app-undertow-reactive.jar"),
layout.buildDirectory.file("spring-boot-server-tests-app/build/libs/spring-boot-server-tests-app-undertow-servlet.jar")
)
.withPropertyName("applicationArchives")
.withPathSensitivity(PathSensitivity.RELATIVE)
.withNormalizer(ClasspathNormalizer)
dependsOn buildReactiveServerApps, buildServletServerApps, buildClientApp
}