|
20 | 20 | import java.io.InputStream; |
21 | 21 | import java.nio.file.Files; |
22 | 22 | import java.nio.file.Path; |
| 23 | +import java.nio.file.StandardCopyOption; |
23 | 24 | import java.util.ArrayList; |
24 | 25 | import java.util.Arrays; |
25 | 26 | import java.util.HashMap; |
@@ -287,25 +288,31 @@ protected String applicationPropertyLine(String key, String value) { |
287 | 288 |
|
288 | 289 | @Override |
289 | 290 | protected void copyDockerFiles(String buildDir) throws Exception { |
| 291 | + Path dockerSrc = Path.of(buildDir).resolve("src/main/docker"); |
290 | 292 | if ("uber-jar".equals(quarkusPackageType)) { |
291 | 293 | // For uber-jar, the generic Dockerfile works as-is |
292 | 294 | super.copyDockerFiles(buildDir); |
293 | 295 | } else { |
294 | 296 | // For fast-jar, use a Quarkus-specific JVM Dockerfile |
295 | | - Path docker = Path.of(buildDir).resolve("src/main/docker"); |
296 | | - Files.createDirectories(docker); |
| 297 | + Files.createDirectories(dockerSrc); |
297 | 298 | InputStream is |
298 | 299 | = ExportQuarkus.class.getClassLoader().getResourceAsStream("quarkus-docker/Dockerfile.jvm"); |
299 | 300 | if (is != null) { |
300 | | - PathUtils.copyFromStream(is, docker.resolve("Dockerfile"), true); |
| 301 | + PathUtils.copyFromStream(is, dockerSrc.resolve("Dockerfile"), true); |
301 | 302 | } |
302 | 303 | } |
| 304 | + |
| 305 | + // Create Dockerfile.jvm to satisfy Quarkus container build tooling defaults if users choose to use it |
| 306 | + if (Files.exists(dockerSrc.resolve("Dockerfile"))) { |
| 307 | + Files.copy(dockerSrc.resolve("Dockerfile"), dockerSrc.resolve("Dockerfile.jvm"), |
| 308 | + StandardCopyOption.REPLACE_EXISTING); |
| 309 | + } |
| 310 | + |
303 | 311 | // Quarkus-specific Dockerfiles for native builds |
304 | | - Path docker = Path.of(buildDir).resolve("src/main/docker"); |
305 | 312 | for (String dockerfile : List.of("Dockerfile.native", "Dockerfile.native-micro")) { |
306 | 313 | InputStream is = ExportQuarkus.class.getClassLoader().getResourceAsStream("quarkus-docker/" + dockerfile); |
307 | 314 | if (is != null) { |
308 | | - PathUtils.copyFromStream(is, docker.resolve(dockerfile), true); |
| 315 | + PathUtils.copyFromStream(is, dockerSrc.resolve(dockerfile), true); |
309 | 316 | } |
310 | 317 | } |
311 | 318 | } |
|
0 commit comments