@@ -20,7 +20,15 @@ import scala.collection.mutable
20
20
* temporary directory as class files.
21
21
*/
22
22
final class TastyFileManager extends ClassFileManager {
23
- private [this ] val tempDir = Files .createTempDirectory(" backup" ).toFile
23
+ private [this ] def newTempDir () = Files .createTempDirectory(" backup" ).toFile
24
+ private [this ] var _tempDir : File = null
25
+ private [this ] def tempDir = {
26
+ if (_tempDir == null ) {
27
+ _tempDir = newTempDir()
28
+ println(s " ClassFileManager.tempDir: creating ${_tempDir} in $this" )
29
+ }
30
+ _tempDir
31
+ }
24
32
25
33
private [this ] val generatedTastyFiles = new mutable.HashSet [File ]
26
34
private [this ] val movedTastyFiles = new mutable.HashMap [File , File ]
@@ -42,7 +50,11 @@ final class TastyFileManager extends ClassFileManager {
42
50
IO .deleteFilesEmptyDirs(generatedTastyFiles)
43
51
for ((orig, tmp) <- movedTastyFiles) IO .move(tmp, orig)
44
52
}
45
- IO .delete(tempDir)
53
+ if (_tempDir != null ) {
54
+ println(s " ClassFileManager.complete( $success): deleting $tempDir from $this" )
55
+ IO .delete(tempDir)
56
+ _tempDir = null
57
+ }
46
58
}
47
59
48
60
private def tastyFiles (classes : Array [File ]): Array [File ] = {
@@ -56,6 +68,7 @@ final class TastyFileManager extends ClassFileManager {
56
68
}
57
69
58
70
private def move (c : File ): File = {
71
+ println(s " ClassFileManager.delete: maybe using $tempDir in $this" )
59
72
val target = File .createTempFile(" sbt" , " .tasty" , tempDir)
60
73
IO .move(c, target)
61
74
target
0 commit comments