Merge branch '2.3.x'

Closes gh-22349
This commit is contained in:
Scott Frederick
2020-07-15 15:17:16 -05:00
5 changed files with 38 additions and 1 deletions

View File

@@ -4,7 +4,8 @@ The plugin can create an https://github.com/opencontainers/image-spec[OCI image]
Images can be built using the `bootBuildImage` task.
The task is automatically created when the `java` plugin is applied and is an instance of {boot-build-image-javadoc}[`BootBuildImage`].
NOTE: The `bootBuildImage` task can not be used with a <<packaging-executable-configuring-launch-script, fully executable Spring Boot archive>> that includes a launch script.
Disable launch script configuration in the `bootJar` task when building a jar file that is intended to be used with `bootBuildImage`.
[[build-image-docker-daemon]]
=== Docker Daemon

View File

@@ -201,6 +201,10 @@ Spring Boot provides support for fully executable archives.
An archive is made fully executable by prepending a shell script that knows how to launch the application.
On Unix-like platforms, this launch script allows the archive to be run directly like any other executable or to be installed as a service.
NOTE: Currently, some tools do not accept this format so you may not always be able to use this technique.
For example, `jar -xf` may silently fail to extract a jar or war that has been made fully-executable.
It is recommended that you only enable this option if you intend to execute it directly, rather than running it with `java -jar`, deploying it to a servlet container, or including it in an OCI image.
To use this feature, the inclusion of the launch script must be enabled:
[source,groovy,indent=0,subs="verbatim,attributes",role="primary"]

View File

@@ -126,6 +126,15 @@ class BootBuildImageIntegrationTests {
}
}
@TestTemplate
void failsWithLaunchScript() {
writeMainClass();
writeLongNameResource();
BuildResult result = this.gradleBuild.buildAndFail("bootBuildImage");
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.FAILED);
assertThat(result.getOutput()).contains("not compatible with buildpacks");
}
@TestTemplate
void failsWithBuilderError() {
writeMainClass();

View File

@@ -0,0 +1,11 @@
plugins {
id 'java'
id 'org.springframework.boot' version '{version}'
}
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
bootJar {
launchScript()
}