Browse Source

Remove setting BP_NATIVE_IMAGE

Closes gh-32884
pull/42340/head
Moritz Halbritter 1 year ago
parent
commit
9294c003b4
  1. 7
      spring-boot-project/spring-boot-starters/spring-boot-starter-parent/build.gradle
  2. 2
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/antora/modules/gradle-plugin/pages/packaging-oci-image.adoc
  3. 2
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/antora/modules/gradle-plugin/pages/reacting.adoc
  4. 8
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/NativeImagePluginAction.java
  5. 7
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/NativeImagePluginActionIntegrationTests.java
  6. 12
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/NativeImagePluginActionIntegrationTests-bootBuildImageIsConfiguredToBuildANativeImage.gradle
  7. 11
      spring-boot-system-tests/spring-boot-image-tests/src/systemTest/resources/org/springframework/boot/image/paketo/PaketoBuilderTests-nativeApp.gradle

7
spring-boot-project/spring-boot-starters/spring-boot-starter-parent/build.gradle

@ -265,13 +265,6 @@ publishing.publications.withType(MavenPublication) { @@ -265,13 +265,6 @@ publishing.publications.withType(MavenPublication) {
plugin {
delegate.groupId('org.springframework.boot')
delegate.artifactId('spring-boot-maven-plugin')
configuration {
image {
env {
delegate.BP_NATIVE_IMAGE("true")
}
}
}
executions {
execution {
delegate.id('process-aot')

2
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/antora/modules/gradle-plugin/pages/packaging-oci-image.adoc

@ -152,7 +152,7 @@ Acceptable values are `ALWAYS`, `NEVER`, and `IF_NOT_PRESENT`. @@ -152,7 +152,7 @@ Acceptable values are `ALWAYS`, `NEVER`, and `IF_NOT_PRESENT`.
| `environment`
|
| Environment variables that should be passed to the builder.
| Empty or `['BP_NATIVE_IMAGE': 'true']` when {url-native-build-tools-docs-gradle-plugin}[GraalVM Native Image plugin] is applied.
| Empty.
| `buildpacks`
|

2
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/antora/modules/gradle-plugin/pages/reacting.adoc

@ -89,6 +89,6 @@ When the {url-native-build-tools-docs-gradle-plugin}[GraalVM Native Image plugin @@ -89,6 +89,6 @@ When the {url-native-build-tools-docs-gradle-plugin}[GraalVM Native Image plugin
. Configures the GraalVM extension to disable Toolchain detection.
. Configures each GraalVM native binary to require GraalVM 22.3 or later.
. Configures the `bootJar` task to include the reachability metadata produced by the `collectReachabilityMetadata` task in its jar.
. Configures the `bootBuildImage` task to set `BP_NATIVE_IMAGE` to `true` in its environment.
. Configures the `bootJar` task to add the `Spring-Boot-Native-Processed: true` manifest entry.

8
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/NativeImagePluginAction.java

@ -32,7 +32,6 @@ import org.gradle.api.plugins.JavaPlugin; @@ -32,7 +32,6 @@ import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.plugins.JavaPluginExtension;
import org.gradle.api.tasks.SourceSetContainer;
import org.springframework.boot.gradle.tasks.bundling.BootBuildImage;
import org.springframework.boot.gradle.tasks.bundling.BootJar;
/**
@ -59,7 +58,6 @@ class NativeImagePluginAction implements PluginApplicationAction { @@ -59,7 +58,6 @@ class NativeImagePluginAction implements PluginApplicationAction {
configureMainNativeBinaryClasspath(project, sourceSets, graalVmExtension);
configureTestNativeBinaryClasspath(sourceSets, graalVmExtension);
copyReachabilityMetadataToBootJar(project);
configureBootBuildImageToProduceANativeImage(project);
configureJarManifestNativeAttribute(project);
});
}
@ -102,12 +100,6 @@ class NativeImagePluginAction implements PluginApplicationAction { @@ -102,12 +100,6 @@ class NativeImagePluginAction implements PluginApplicationAction {
.configure((bootJar) -> bootJar.from(project.getTasks().named("collectReachabilityMetadata")));
}
private void configureBootBuildImageToProduceANativeImage(Project project) {
project.getTasks()
.named(SpringBootPlugin.BOOT_BUILD_IMAGE_TASK_NAME, BootBuildImage.class)
.configure((bootBuildImage) -> bootBuildImage.getEnvironment().put("BP_NATIVE_IMAGE", "true"));
}
private void configureJarManifestNativeAttribute(Project project) {
project.getTasks()
.named(SpringBootPlugin.BOOT_JAR_TASK_NAME, BootJar.class)

7
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/NativeImagePluginActionIntegrationTests.java

@ -88,13 +88,6 @@ class NativeImagePluginActionIntegrationTests { @@ -88,13 +88,6 @@ class NativeImagePluginActionIntegrationTests {
"META-INF/native-image/org.jline/jline/3.21.0/resource-config.json");
}
@TestTemplate
void bootBuildImageIsConfiguredToBuildANativeImage() {
writeDummySpringApplicationAotProcessorMainClass();
BuildResult result = this.gradleBuild.build("bootBuildImageConfiguration");
assertThat(result.getOutput()).contains("BP_NATIVE_IMAGE = true");
}
@TestTemplate
void developmentOnlyDependenciesDoNotAppearInNativeImageClasspath() {
writeDummySpringApplicationAotProcessorMainClass();

12
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/NativeImagePluginActionIntegrationTests-bootBuildImageIsConfiguredToBuildANativeImage.gradle

@ -1,12 +0,0 @@ @@ -1,12 +0,0 @@
plugins {
id 'org.springframework.boot' version '{version}'
id 'java'
}
apply plugin: 'org.graalvm.buildtools.native'
task('bootBuildImageConfiguration') {
doFirst {
println "BP_NATIVE_IMAGE = ${tasks.getByName('bootBuildImage').environment.get()['BP_NATIVE_IMAGE']}"
}
}

11
spring-boot-system-tests/spring-boot-image-tests/src/systemTest/resources/org/springframework/boot/image/paketo/PaketoBuilderTests-nativeApp.gradle

@ -28,13 +28,10 @@ bootJar { @@ -28,13 +28,10 @@ bootJar {
manifest {
attributes(
'Implementation-Version': '1.0.0',
'Implementation-Title': "Paketo Test"
'Implementation-Title': 'Paketo Test',
// This shouldn't be necessary.
// See https://github.com/spring-projects/spring-boot/issues/42338
'Spring-Boot-Native-Processed': 'true'
)
}
}
bootBuildImage {
environment = ['BP_NATIVE_IMAGE': 'true',
//see https://github.com/paketo-buildpacks/native-image/issues/321
'BP_NATIVE_IMAGE_BUILD_ARGUMENTS': '-H:-AddAllFileSystemProviders']
}

Loading…
Cancel
Save