|
25 | 25 | import java.nio.file.Files; |
26 | 26 | import java.nio.file.Path; |
27 | 27 | import java.util.HashSet; |
28 | | -import java.util.Optional; |
29 | 28 | import java.util.Set; |
30 | 29 | import java.util.function.Predicate; |
31 | 30 | import java.util.stream.Collectors; |
|
34 | 33 | import jdk.jpackage.test.JPackageCommand; |
35 | 34 | import jdk.jpackage.test.TKit; |
36 | 35 | import jdk.jpackage.test.Annotations.Test; |
| 36 | +import jdk.jpackage.test.Executor; |
| 37 | +import jdk.jpackage.test.JavaTool; |
37 | 38 | import jdk.jpackage.test.LinuxHelper; |
38 | 39 | import static jdk.jpackage.test.TKit.assertTrue; |
39 | 40 | import static jdk.jpackage.test.TKit.assertFalse; |
@@ -99,9 +100,25 @@ private static PackageTest init(Set<PackageType> types) { |
99 | 100 | return new PackageTest() |
100 | 101 | .forTypes(types) |
101 | 102 | .addInitializer(cmd -> { |
102 | | - cmd.addArguments("--runtime-image", Optional.ofNullable( |
103 | | - JPackageCommand.DEFAULT_RUNTIME_IMAGE).orElse(Path.of( |
104 | | - System.getProperty("java.home")))); |
| 103 | + final Path runtimeImageDir; |
| 104 | + if (JPackageCommand.DEFAULT_RUNTIME_IMAGE != null) { |
| 105 | + runtimeImageDir = JPackageCommand.DEFAULT_RUNTIME_IMAGE; |
| 106 | + } else { |
| 107 | + runtimeImageDir = TKit.createTempDirectory("runtime").resolve("data"); |
| 108 | + |
| 109 | + new Executor() |
| 110 | + .setToolProvider(JavaTool.JLINK) |
| 111 | + .dumpOutput() |
| 112 | + .addArguments( |
| 113 | + "--output", runtimeImageDir.toString(), |
| 114 | + "--compress=0", |
| 115 | + "--add-modules", "ALL-MODULE-PATH", |
| 116 | + "--strip-debug", |
| 117 | + "--no-header-files", |
| 118 | + "--no-man-pages") |
| 119 | + .execute(); |
| 120 | + } |
| 121 | + cmd.addArguments("--runtime-image", runtimeImageDir); |
105 | 122 | // Remove --input parameter from jpackage command line as we don't |
106 | 123 | // create input directory in the test and jpackage fails |
107 | 124 | // if --input references non existant directory. |
|
0 commit comments