]> source.dussan.org Git - aspectj.git/commitdiff
Deleting temporary dir and config file, like harness -killTemp option (ignores -keepTemp)
authorwisberg <wisberg>
Fri, 9 May 2003 22:57:24 +0000 (22:57 +0000)
committerwisberg <wisberg>
Fri, 9 May 2003 22:57:24 +0000 (22:57 +0000)
testing/src/org/aspectj/testing/ajde/CompileCommand.java

index e9d75466aa50a7a543b432c7f7a60dcca6caaa17..a33ac06ce71147c32cfd6720f65803530d29b953 100644 (file)
@@ -38,6 +38,7 @@ public class CompileCommand implements ICommand {
     MyTaskListManager myHandler = new MyTaskListManager();
     long endTime;
     boolean buildNextFresh;
+    File tempDir;
 
     /**
      * Clients call this before repeatCommand as a one-shot
@@ -53,10 +54,14 @@ public class CompileCommand implements ICommand {
         setup(args);
         myHandler.start();
         long startTime = System.currentTimeMillis();
-        Ajde.getDefault().getBuildManager().buildFresh();
-        // System.err.println("compiling " + Arrays.asList(args));
-        waitForCompletion(startTime);
-        myHandler.finish(handler);
+        try {
+            Ajde.getDefault().getBuildManager().buildFresh();
+            // System.err.println("compiling " + Arrays.asList(args));
+            waitForCompletion(startTime);
+        } finally {
+            myHandler.finish(handler);
+            runCommandCleanup();
+        }
         return !myHandler.hasError();
     }
 
@@ -74,6 +79,12 @@ public class CompileCommand implements ICommand {
         myHandler.finish(handler);
         return !myHandler.hasError();
     }
+    void runCommandCleanup() {
+        if (null != tempDir) {
+            FileUtil.deleteContents(tempDir);
+            tempDir.delete();
+        } 
+    }
     
     // set by build progress monitor when done
     void setEndTime(long endTime) {
@@ -145,7 +156,8 @@ public class CompileCommand implements ICommand {
     }
     
     private File writeConfig(String[] args) {
-        File result = new File(FileUtil.getTempDir("CompileCommand"), "config.lst");
+        tempDir = FileUtil.getTempDir("CompileCommand");
+        File result = new File(tempDir, "config.lst");
         OutputStream out = null;
         try {
             out = new FileOutputStream(result);