test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JarBuilder.java
branchJDK-8200758-branch
changeset 58696 61c44899b4eb
parent 58648 3bf53ffa9ae7
--- a/test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JarBuilder.java	Fri Oct 18 11:00:57 2019 -0400
+++ b/test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JarBuilder.java	Fri Oct 18 14:14:37 2019 -0400
@@ -40,7 +40,7 @@
         sourceFiles = new ArrayList<>();
     }
 
-    public JarBuilder setOutputJar(File v) {
+    public JarBuilder setOutputJar(Path v) {
         outputJar = v;
         return this;
     }
@@ -69,9 +69,16 @@
                         .addPathArguments(sourceFiles)
                         .execute().assertExitCodeIsZero();
             }
-            Path tmpJar = workDir.resolve("foo.jar");
-            Executor jarExe = new Executor();
-            jarExe.setToolProvider(JavaTool.JAR).addArguments("-c", "-f", tmpJar.toString());
+
+            Files.createDirectories(outputJar.getParent());
+            if (Files.exists(outputJar)) {
+                TKit.trace(String.format("Delete [%s] existing jar file", outputJar));
+                Files.deleteIfExists(outputJar);
+            }
+
+            Executor jarExe = new Executor()
+                    .setToolProvider(JavaTool.JAR)
+                    .addArguments("-c", "-f", outputJar.toString());
             if (moduleVersion != null) {
                 jarExe.addArguments(String.format("--module-version=%s",
                         moduleVersion));
@@ -81,12 +88,10 @@
             }
             jarExe.addArguments("-C", workDir.toString(), ".");
             jarExe.execute().assertExitCodeIsZero();
-            outputJar.getParentFile().mkdirs();
-            Files.copy(tmpJar, outputJar.toPath(), REPLACE_EXISTING);
         });
     }
     private List<Path> sourceFiles;
-    private File outputJar;
+    private Path outputJar;
     private String mainClass;
     private String moduleVersion;
 }