test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JarBuilder.java
branchJDK-8200758-branch
changeset 58648 3bf53ffa9ae7
parent 58416 f09bf58c1f17
child 58696 61c44899b4eb
equal deleted inserted replaced
58647:2c43b89b1679 58648:3bf53ffa9ae7
    60         return this;
    60         return this;
    61     }
    61     }
    62 
    62 
    63     public void create() {
    63     public void create() {
    64         TKit.withTempDirectory("jar-workdir", workDir -> {
    64         TKit.withTempDirectory("jar-workdir", workDir -> {
    65             Executor.Result javacReply = new Executor()
    65             if (!sourceFiles.isEmpty()) {
    66                     .setExecutable(JavaTool.JAVAC)
    66                 new Executor()
    67                     .addArguments("-d", workDir.toString())
    67                         .setToolProvider(JavaTool.JAVAC)
    68                     .addPathArguments(sourceFiles).execute();
    68                         .addArguments("-d", workDir.toString())
    69             javacReply.assertExitCodeIsZero();
    69                         .addPathArguments(sourceFiles)
       
    70                         .execute().assertExitCodeIsZero();
       
    71             }
    70             Path tmpJar = workDir.resolve("foo.jar");
    72             Path tmpJar = workDir.resolve("foo.jar");
    71             Executor jarExe = new Executor();
    73             Executor jarExe = new Executor();
    72             jarExe.setExecutable(JavaTool.JAR).addArguments("-c", "-v", "-f",
    74             jarExe.setToolProvider(JavaTool.JAR).addArguments("-c", "-f", tmpJar.toString());
    73                     tmpJar.toString());
       
    74             if (moduleVersion != null) {
    75             if (moduleVersion != null) {
    75                 jarExe.addArguments(String.format("--module-version=%s",
    76                 jarExe.addArguments(String.format("--module-version=%s",
    76                         moduleVersion));
    77                         moduleVersion));
    77             }
    78             }
    78             if (mainClass != null) {
    79             if (mainClass != null) {
    79                 jarExe.addArguments("-e", mainClass);
    80                 jarExe.addArguments("-e", mainClass);
    80             }
    81             }
    81             jarExe.addArguments("-C", workDir.toString(), ".");
    82             jarExe.addArguments("-C", workDir.toString(), ".");
    82             javacReply = jarExe.execute();
    83             jarExe.execute().assertExitCodeIsZero();
    83             javacReply.assertExitCodeIsZero();
       
    84             outputJar.getParentFile().mkdirs();
    84             outputJar.getParentFile().mkdirs();
    85             Files.copy(tmpJar, outputJar.toPath(), REPLACE_EXISTING);
    85             Files.copy(tmpJar, outputJar.toPath(), REPLACE_EXISTING);
    86         });
    86         });
    87     }
    87     }
    88     private List<Path> sourceFiles;
    88     private List<Path> sourceFiles;