You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
3.4 KiB
96 lines
3.4 KiB
/* |
|
* Copyright 2012-present 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. |
|
* You may obtain a copy of the License at |
|
* |
|
* https://www.apache.org/licenses/LICENSE-2.0 |
|
* |
|
* Unless required by applicable law or agreed to in writing, software |
|
* distributed under the License is distributed on an "AS IS" BASIS, |
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
* See the License for the specific language governing permissions and |
|
* limitations under the License. |
|
*/ |
|
|
|
plugins { |
|
id "java" |
|
id "org.springframework.boot.docker-test" |
|
id "de.undercouch.download" |
|
} |
|
|
|
description = "Spring Boot Loader Integration Tests" |
|
|
|
def oracleJdkVersion = "17.0.8" |
|
def oracleJdkArch = "aarch64".equalsIgnoreCase(System.getProperty("os.arch")) ? "aarch64" : "x64" |
|
|
|
configurations { |
|
app |
|
} |
|
|
|
dependencies { |
|
app project(path: ":platform:spring-boot-dependencies", configuration: "mavenRepository") |
|
app project(path: ":build-plugin:spring-boot-gradle-plugin", configuration: "mavenRepository") |
|
app project(path: ":starter:spring-boot-starter-webmvc", configuration: "mavenRepository") |
|
app project(path: ":starter:spring-boot-starter", configuration: "mavenRepository") |
|
app("org.bouncycastle:bcprov-jdk18on:1.78.1") |
|
|
|
dockerTestImplementation(project(":test-support:spring-boot-docker-test-support")) |
|
dockerTestImplementation(project(":starter:spring-boot-starter-test")) |
|
dockerTestImplementation("org.testcontainers:testcontainers-junit-jupiter") |
|
} |
|
|
|
tasks.register("syncMavenRepository", Sync) { |
|
from configurations.app |
|
into layout.buildDirectory.dir("docker-test-maven-repository") |
|
} |
|
|
|
tasks.register("syncAppSource", org.springframework.boot.build.SyncAppSource) { |
|
sourceDirectory = file("spring-boot-loader-tests-app") |
|
destinationDirectory = file(layout.buildDirectory.dir("spring-boot-loader-tests-app")) |
|
} |
|
|
|
tasks.register("buildApp", GradleBuild) { |
|
dependsOn syncAppSource, syncMavenRepository |
|
dir = layout.buildDirectory.dir("spring-boot-loader-tests-app") |
|
startParameter.buildCacheEnabled = false |
|
tasks = ["build"] |
|
} |
|
|
|
tasks.register("syncSignedJarAppSource", org.springframework.boot.build.SyncAppSource) { |
|
sourceDirectory = file("spring-boot-loader-tests-signed-jar") |
|
destinationDirectory = file(layout.buildDirectory.dir("spring-boot-loader-tests-signed-jar")) |
|
} |
|
|
|
tasks.register("buildSignedJarApp", GradleBuild) { |
|
dependsOn syncSignedJarAppSource, syncMavenRepository |
|
dir = layout.buildDirectory.dir("spring-boot-loader-tests-signed-jar") |
|
startParameter.buildCacheEnabled = false |
|
tasks = ["build"] |
|
} |
|
|
|
tasks.register("downloadJdk", Download) { |
|
def destFolder = new File(project.gradle.gradleUserHomeDir, "caches/springboot/downloads/jdk/oracle") |
|
destFolder.mkdirs() |
|
src "https://download.oracle.com/java/17/archive/jdk-${oracleJdkVersion}_linux-${oracleJdkArch}_bin.tar.gz" |
|
dest destFolder |
|
tempAndMove true |
|
overwrite false |
|
retries 3 |
|
} |
|
|
|
tasks.register("syncJdkDownloads", Sync) { |
|
dependsOn downloadJdk |
|
from "${project.gradle.gradleUserHomeDir}/caches/springboot/downloads/jdk/oracle/" |
|
include "jdk-${oracleJdkVersion}_linux-${oracleJdkArch}_bin.tar.gz" |
|
into layout.buildDirectory.dir("downloads/jdk/oracle/") |
|
} |
|
|
|
tasks.named("processDockerTestResources").configure { |
|
dependsOn syncJdkDownloads |
|
} |
|
|
|
tasks.named("dockerTest").configure { |
|
dependsOn buildApp, buildSignedJarApp |
|
}
|
|
|