Update CNB buildpack Java version env variable

Prior to this commit, the build tool plugins set the environment
variable BP_JAVA_VERSION when invoking the CNB builder to set the
version of the JDK/JRE that the builder should use in the created
image.

With CNB API 0.3, the convention changed the name of this environment
variable to BP_JVM_VERSION. This commit updates the build tool
plugins to match the newer convention.

See gh-21273
This commit is contained in:
Scott Frederick
2020-05-08 17:07:51 -05:00
parent 35bc82a693
commit 28749e7fbb
9 changed files with 17 additions and 17 deletions

View File

@@ -102,7 +102,7 @@ This configuration will use a builder image with the name `mine/java-cnb-builder
==== Builder Configuration
If the builder exposes configuration options, those can be set using the `environment` property.
The following example assumes that the default builder defines a `BP_JAVA_VERSION` property (typically used to customize the JDK version the image should use):
The following example assumes that the default builder defines a `BP_JVM_VERSION` property (typically used to customize the JDK version the image should use):
[source,groovy,indent=0,subs="verbatim,attributes",role="primary"]
.Groovy

View File

@@ -9,6 +9,6 @@ bootJar {
// tag::env[]
bootBuildImage {
environment = ["BP_JAVA_VERSION" : "13.0.1"]
environment = ["BP_JVM_VERSION" : "13.0.1"]
}
// end::env[]

View File

@@ -11,6 +11,6 @@ tasks.getByName<BootJar>("bootJar") {
// tag::env[]
tasks.getByName<BootBuildImage>("bootBuildImage") {
environment = ["BP_JAVA_VERSION" : "13.0.1"]
environment = ["BP_JVM_VERSION" : "13.0.1"]
}
// end::env[]

View File

@@ -51,7 +51,7 @@ import org.springframework.util.StringUtils;
*/
public class BootBuildImage extends DefaultTask {
private static final String OPENJDK_BUILDPACK_JAVA_VERSION_KEY = "BP_JAVA_VERSION";
private static final String BUILDPACK_JVM_VERSION_KEY = "BP_JVM_VERSION";
private RegularFileProperty jar;
@@ -246,8 +246,8 @@ public class BootBuildImage extends DefaultTask {
if (this.environment != null && !this.environment.isEmpty()) {
request = request.withEnv(this.environment);
}
if (this.targetJavaVersion.isPresent() && !request.getEnv().containsKey(OPENJDK_BUILDPACK_JAVA_VERSION_KEY)) {
request = request.withEnv(OPENJDK_BUILDPACK_JAVA_VERSION_KEY, translateTargetJavaVersion());
if (this.targetJavaVersion.isPresent() && !request.getEnv().containsKey(BUILDPACK_JVM_VERSION_KEY)) {
request = request.withEnv(BUILDPACK_JVM_VERSION_KEY, translateTargetJavaVersion());
}
return request;
}

View File

@@ -131,15 +131,15 @@ class BootBuildImageTests {
@Test
void whenJavaVersionIsSetInEnvironmentItIsIncludedInTheRequest() {
this.buildImage.environment("BP_JAVA_VERSION", "from-env");
this.buildImage.environment("BP_JVM_VERSION", "from-env");
this.buildImage.getTargetJavaVersion().set(JavaVersion.VERSION_1_8);
assertThat(this.buildImage.createRequest().getEnv()).containsEntry("BP_JAVA_VERSION", "from-env").hasSize(1);
assertThat(this.buildImage.createRequest().getEnv()).containsEntry("BP_JVM_VERSION", "from-env").hasSize(1);
}
@Test
void whenTargetCompatibilityIsSetThenJavaVersionIsIncludedInTheRequest() {
this.buildImage.getTargetJavaVersion().set(JavaVersion.VERSION_1_8);
assertThat(this.buildImage.createRequest().getEnv()).containsEntry("BP_JAVA_VERSION", "8.*").hasSize(1);
assertThat(this.buildImage.createRequest().getEnv()).containsEntry("BP_JVM_VERSION", "8.*").hasSize(1);
}
@Test
@@ -147,7 +147,7 @@ class BootBuildImageTests {
this.buildImage.environment("ALPHA", "a");
this.buildImage.getTargetJavaVersion().set(JavaVersion.VERSION_11);
assertThat(this.buildImage.createRequest().getEnv()).containsEntry("ALPHA", "a")
.containsEntry("BP_JAVA_VERSION", "11.*").hasSize(2);
.containsEntry("BP_JVM_VERSION", "11.*").hasSize(2);
}
@Test

View File

@@ -7,5 +7,5 @@ sourceCompatibility = '1.8'
targetCompatibility = '1.8'
bootBuildImage {
environment = ["BP_JAVA_VERSION" : "13.9.9"]
environment = ["BP_JVM_VERSION" : "13.9.9"]
}