Commit f43a0b48 authored by Andy Wilkinson's avatar Andy Wilkinson

Fix configuration of environment in Kotlin bootBuildImage examples

Fixes gh-22913
parent 5e5c1fb4
...@@ -72,6 +72,7 @@ task dependencyVersions(type: org.springframework.boot.build.constraints.Extract ...@@ -72,6 +72,7 @@ task dependencyVersions(type: org.springframework.boot.build.constraints.Extract
tasks.withType(org.asciidoctor.gradle.jvm.AbstractAsciidoctorTask) { tasks.withType(org.asciidoctor.gradle.jvm.AbstractAsciidoctorTask) {
dependsOn dependencyVersions dependsOn dependencyVersions
inputs.dir('src/docs/gradle').withPathSensitivity(PathSensitivity.RELATIVE)
doFirst { doFirst {
attributes "dependency-management-plugin-version": dependencyVersions.versionConstraints["io.spring.gradle:dependency-management-plugin"] attributes "dependency-management-plugin-version": dependencyVersions.versionConstraints["io.spring.gradle:dependency-management-plugin"]
} }
......
...@@ -15,3 +15,9 @@ bootBuildImage { ...@@ -15,3 +15,9 @@ bootBuildImage {
] ]
} }
// end::env[] // end::env[]
task bootBuildImageEnvironment {
doFirst {
bootBuildImage.environment.each { name, value -> println "$name=$value" }
}
}
import org.springframework.boot.gradle.tasks.bundling.BootJar import org.springframework.boot.gradle.tasks.bundling.BootBuildImage
plugins { plugins {
java java
id("org.springframework.boot") version "{gradle-project-version}" id("org.springframework.boot") version "{gradle-project-version}"
} }
tasks.getByName<BootJar>("bootJar") {
mainClassName = "com.example.ExampleApplication"
}
// tag::env[] // tag::env[]
tasks.getByName<BootBuildImage>("bootBuildImage") { tasks.getByName<BootBuildImage>("bootBuildImage") {
environment = [ environment = mapOf("HTTP_PROXY" to "http://proxy.example.com",
"HTTP_PROXY" : "http://proxy.example.com", "HTTPS_PROXY" to "https://proxy.example.com")
"HTTPS_PROXY" : "https://proxy.example.com"
]
} }
// end::env[] // end::env[]
tasks.register("bootBuildImageEnvironment") {
doFirst {
for((name, value) in tasks.getByName<BootBuildImage>("bootBuildImage").environment) {
print(name + "=" + value)
}
}
}
...@@ -12,3 +12,9 @@ bootBuildImage { ...@@ -12,3 +12,9 @@ bootBuildImage {
environment = ["BP_JVM_VERSION" : "13.0.1"] environment = ["BP_JVM_VERSION" : "13.0.1"]
} }
// end::env[] // end::env[]
task bootBuildImageEnvironment {
doFirst {
bootBuildImage.environment.each { name, value -> println "$name=$value" }
}
}
import org.springframework.boot.gradle.tasks.bundling.BootJar import org.springframework.boot.gradle.tasks.bundling.BootBuildImage
plugins { plugins {
java java
id("org.springframework.boot") version "{gradle-project-version}" id("org.springframework.boot") version "{gradle-project-version}"
} }
tasks.getByName<BootJar>("bootJar") {
mainClassName = "com.example.ExampleApplication"
}
// tag::env[] // tag::env[]
tasks.getByName<BootBuildImage>("bootBuildImage") { tasks.getByName<BootBuildImage>("bootBuildImage") {
environment = ["BP_JVM_VERSION" : "13.0.1"] environment = mapOf("BP_JVM_VERSION" to "13.0.1")
} }
// end::env[] // end::env[]
tasks.register("bootBuildImageEnvironment") {
doFirst {
for((name, value) in tasks.getByName<BootBuildImage>("bootBuildImage").environment) {
print(name + "=" + value)
}
}
}
...@@ -28,6 +28,7 @@ import java.util.jar.JarOutputStream; ...@@ -28,6 +28,7 @@ import java.util.jar.JarOutputStream;
import java.util.jar.Manifest; import java.util.jar.Manifest;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import org.gradle.testkit.runner.BuildResult;
import org.junit.jupiter.api.TestTemplate; import org.junit.jupiter.api.TestTemplate;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
...@@ -221,6 +222,21 @@ class PackagingDocumentationTests { ...@@ -221,6 +222,21 @@ class PackagingDocumentationTests {
} }
} }
@TestTemplate
void bootBuildImageWithCustomBuildpackJvmVersion() throws IOException {
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-env")
.build("bootBuildImageEnvironment");
assertThat(result.getOutput()).contains("BP_JVM_VERSION=13.0.1");
}
@TestTemplate
void bootBuildImageWithCustomProxySettings() throws IOException {
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-env-proxy")
.build("bootBuildImageEnvironment");
assertThat(result.getOutput()).contains("HTTP_PROXY=http://proxy.example.com")
.contains("HTTPS_PROXY=https://proxy.example.com");
}
protected void jarFile(File file) throws IOException { protected void jarFile(File file) throws IOException {
try (JarOutputStream jar = new JarOutputStream(new FileOutputStream(file))) { try (JarOutputStream jar = new JarOutputStream(new FileOutputStream(file))) {
jar.putNextEntry(new ZipEntry("META-INF/MANIFEST.MF")); jar.putNextEntry(new ZipEntry("META-INF/MANIFEST.MF"));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment