test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JavaTool.java
branchJDK-8200758-branch
changeset 58994 b09ba68c6a19
parent 58416 f09bf58c1f17
child 59160 e90068e7afa1
equal deleted inserted replaced
58993:b5e1baa9d2c3 58994:b09ba68c6a19
    25 package jdk.jpackage.test;
    25 package jdk.jpackage.test;
    26 
    26 
    27 
    27 
    28 import java.nio.file.Path;
    28 import java.nio.file.Path;
    29 import java.util.spi.ToolProvider;
    29 import java.util.spi.ToolProvider;
       
    30 import jdk.incubator.jpackage.ToolProviderFactory;
    30 
    31 
    31 public enum JavaTool {
    32 public enum JavaTool {
    32     JAVA("java"), JAVAC("javac"), JPACKAGE("jpackage"), JAR("jar"), JLINK("jlink");
    33     JAVA("java"), JAVAC("javac"), JPACKAGE("jpackage"), JAR("jar"), JLINK("jlink");
    33 
    34 
    34     JavaTool(String name) {
    35     JavaTool(String name) {
    44     Path getPath() {
    45     Path getPath() {
    45         return path;
    46         return path;
    46     }
    47     }
    47 
    48 
    48     public ToolProvider asToolProvider() {
    49     public ToolProvider asToolProvider() {
    49         return ToolProvider.findFirst(name).orElse(null);
    50         if (this == JPACKAGE) {
       
    51             return ToolProviderFactory.findFirst("jpackage").orElseThrow(
       
    52                     () -> new RuntimeException("jpackage tool not found"));
       
    53         } else {
       
    54             return ToolProvider.findFirst(name).orElse(null);
       
    55         }
    50     }
    56     }
    51 
    57 
    52     Path relativePathInJavaHome() {
    58     Path relativePathInJavaHome() {
    53         Path path = Path.of("bin", name);
    59         Path path = Path.of("bin", name);
    54         if (TKit.isWindows()) {
    60         if (TKit.isWindows()) {