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:
@@ -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
|
||||
|
||||
@@ -9,6 +9,6 @@ bootJar {
|
||||
|
||||
// tag::env[]
|
||||
bootBuildImage {
|
||||
environment = ["BP_JAVA_VERSION" : "13.0.1"]
|
||||
environment = ["BP_JVM_VERSION" : "13.0.1"]
|
||||
}
|
||||
// end::env[]
|
||||
|
||||
@@ -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[]
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"]
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ The builder can be specified on the command line as well, as shown in this examp
|
||||
==== Builder Configuration
|
||||
If the builder exposes configuration options using environment variables, those can be set using the `env` attributes.
|
||||
|
||||
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,xml,indent=0,subs="verbatim,attributes"]
|
||||
----
|
||||
@@ -160,7 +160,7 @@ The following example assumes that the default builder defines a `BP_JAVA_VERSIO
|
||||
<configuration>
|
||||
<image>
|
||||
<env>
|
||||
<BP_JAVA_VERSION>13.0.1</BP_JAVA_VERSION>
|
||||
<BP_JVM_VERSION>13.0.1</BP_JVM_VERSION>
|
||||
</env>
|
||||
</image>
|
||||
</configuration>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<configuration>
|
||||
<image>
|
||||
<env>
|
||||
<BP_JAVA_VERSION>13.9.9</BP_JAVA_VERSION>
|
||||
<BP_JVM_VERSION>13.9.9</BP_JVM_VERSION>
|
||||
</env>
|
||||
</image>
|
||||
</configuration>
|
||||
|
||||
@@ -63,7 +63,7 @@ import org.springframework.util.StringUtils;
|
||||
@Execute(phase = LifecyclePhase.PACKAGE)
|
||||
public class BuildImageMojo extends AbstractPackagerMojo {
|
||||
|
||||
private static final String OPENJDK_BUILDPACK_JAVA_VERSION_KEY = "BP_JAVA_VERSION";
|
||||
private static final String BUILDPACK_JVM_VERSION_KEY = "BP_JVM_VERSION";
|
||||
|
||||
/**
|
||||
* Directory containing the JAR.
|
||||
@@ -175,11 +175,11 @@ public class BuildImageMojo extends AbstractPackagerMojo {
|
||||
}
|
||||
|
||||
private BuildRequest customizeEnvironment(BuildRequest request) {
|
||||
if (!request.getEnv().containsKey(OPENJDK_BUILDPACK_JAVA_VERSION_KEY)) {
|
||||
if (!request.getEnv().containsKey(BUILDPACK_JVM_VERSION_KEY)) {
|
||||
JavaCompilerPluginConfiguration compilerConfiguration = new JavaCompilerPluginConfiguration(this.project);
|
||||
String targetJavaVersion = compilerConfiguration.getTargetMajorVersion();
|
||||
if (StringUtils.hasText(targetJavaVersion)) {
|
||||
return request.withEnv(OPENJDK_BUILDPACK_JAVA_VERSION_KEY, targetJavaVersion + ".*");
|
||||
return request.withEnv(BUILDPACK_JVM_VERSION_KEY, targetJavaVersion + ".*");
|
||||
}
|
||||
}
|
||||
return request;
|
||||
|
||||
Reference in New Issue
Block a user