Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
f247fec3
Commit
f247fec3
authored
Aug 04, 2020
by
Scott Frederick
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.3.x'
Closes gh-22735
parents
bc44cd67
21b2dd27
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
88 additions
and
3 deletions
+88
-3
EphemeralBuilder.java
...ework/boot/buildpack/platform/build/EphemeralBuilder.java
+1
-1
EphemeralBuilderTests.java
.../boot/buildpack/platform/build/EphemeralBuilderTests.java
+5
-2
BuildImageTests.java
.../java/org/springframework/boot/maven/BuildImageTests.java
+18
-0
pom.xml
.../src/intTest/projects/build-image-empty-env-entry/pom.xml
+36
-0
SampleApplication.java
...y-env-entry/src/main/java/org/test/SampleApplication.java
+28
-0
No files found.
spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/EphemeralBuilder.java
View file @
f247fec3
...
...
@@ -74,7 +74,7 @@ class EphemeralBuilder {
return
Layer
.
of
((
layout
)
->
{
for
(
Map
.
Entry
<
String
,
String
>
entry
:
env
.
entrySet
())
{
String
name
=
"/platform/env/"
+
entry
.
getKey
();
Content
content
=
Content
.
of
(
entry
.
getValue
()
);
Content
content
=
Content
.
of
(
(
entry
.
getValue
()
!=
null
)
?
entry
.
getValue
()
:
""
);
layout
.
file
(
name
,
Owner
.
ROOT
,
content
);
}
});
...
...
spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/test/java/org/springframework/boot/buildpack/platform/build/EphemeralBuilderTests.java
View file @
f247fec3
...
...
@@ -25,7 +25,7 @@ import java.nio.charset.StandardCharsets;
import
java.time.Instant
;
import
java.time.OffsetDateTime
;
import
java.time.ZoneId
;
import
java.util.
Collections
;
import
java.util.
HashMap
;
import
java.util.Map
;
import
org.apache.commons.compress.archivers.ArchiveEntry
;
...
...
@@ -68,7 +68,9 @@ class EphemeralBuilderTests extends AbstractJsonTests {
void
setup
()
throws
Exception
{
this
.
image
=
Image
.
of
(
getContent
(
"image.json"
));
this
.
metadata
=
BuilderMetadata
.
fromImage
(
this
.
image
);
this
.
env
=
Collections
.
singletonMap
(
"spring"
,
"boot"
);
this
.
env
=
new
HashMap
<>();
this
.
env
.
put
(
"spring"
,
"boot"
);
this
.
env
.
put
(
"empty"
,
null
);
}
@Test
...
...
@@ -113,6 +115,7 @@ class EphemeralBuilderTests extends AbstractJsonTests {
EphemeralBuilder
builder
=
new
EphemeralBuilder
(
this
.
owner
,
this
.
image
,
this
.
metadata
,
this
.
creator
,
this
.
env
);
File
directory
=
unpack
(
getLayer
(
builder
.
getArchive
(),
0
),
"env"
);
assertThat
(
new
File
(
directory
,
"platform/env/spring"
)).
usingCharset
(
StandardCharsets
.
UTF_8
).
hasContent
(
"boot"
);
assertThat
(
new
File
(
directory
,
"platform/env/empty"
)).
usingCharset
(
StandardCharsets
.
UTF_8
).
hasContent
(
""
);
}
private
TarArchiveInputStream
getLayer
(
ImageArchive
archive
,
int
index
)
throws
Exception
{
...
...
spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/java/org/springframework/boot/maven/BuildImageTests.java
View file @
f247fec3
...
...
@@ -130,6 +130,24 @@ public class BuildImageTests extends AbstractArchiveIntegrationTests {
});
}
@TestTemplate
void
whenBuildImageIsInvokedWithEmptyEnvEntry
(
MavenBuild
mavenBuild
)
{
mavenBuild
.
project
(
"build-image-empty-env-entry"
).
goals
(
"package"
).
prepare
(
this
::
writeLongNameResource
)
.
execute
((
project
)
->
{
assertThat
(
buildLog
(
project
)).
contains
(
"Building image"
).
contains
(
"paketo-buildpacks/builder"
)
.
contains
(
"docker.io/library/build-image-empty-env-entry:0.0.1.BUILD-SNAPSHOT"
)
.
contains
(
"Successfully built image"
);
ImageReference
imageReference
=
ImageReference
.
of
(
ImageName
.
of
(
"build-image-empty-env-entry"
),
"0.0.1.BUILD-SNAPSHOT"
);
try
(
GenericContainer
<?>
container
=
new
GenericContainer
<>(
imageReference
.
toString
()))
{
container
.
waitingFor
(
Wait
.
forLogMessage
(
"Launched\\n"
,
1
)).
start
();
}
finally
{
removeImage
(
imageReference
);
}
});
}
@TestTemplate
void
failsWhenBuilderFails
(
MavenBuild
mavenBuild
)
{
mavenBuild
.
project
(
"build-image-builder-error"
).
goals
(
"package"
)
...
...
spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/build-image-empty-env-entry/pom.xml
0 → 100644
View file @
f247fec3
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
org.springframework.boot.maven.it
</groupId>
<artifactId>
build-image-empty-env-entry
</artifactId>
<version>
0.0.1.BUILD-SNAPSHOT
</version>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<maven.compiler.source>
@java.version@
</maven.compiler.source>
<maven.compiler.target>
@java.version@
</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<groupId>
@project.groupId@
</groupId>
<artifactId>
@project.artifactId@
</artifactId>
<version>
@project.version@
</version>
<executions>
<execution>
<goals>
<goal>
build-image
</goal>
</goals>
<configuration>
<image>
<env>
<EMPTY_KEY></EMPTY_KEY>
</env>
</image>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/build-image-empty-env-entry/src/main/java/org/test/SampleApplication.java
0 → 100644
View file @
f247fec3
/*
* Copyright 2012-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
test
;
public
class
SampleApplication
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
System
.
out
.
println
(
"Launched"
);
synchronized
(
args
)
{
args
.
wait
();
// Prevent exit"
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment