summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2009-08-31 18:05:34 +0000
committerPaul Phillips <paulp@improving.org>2009-08-31 18:05:34 +0000
commitc918b70784d41b0aa7efe5eea74e5ec7a4224421 (patch)
treec6d6fd413bb737a70f9dcbf2cc3250e923f1d968 /src
parent6758ca1bfe59a2b273c4e934d1bb34b736d090fa (diff)
downloadscala-c918b70784d41b0aa7efe5eea74e5ec7a4224421.tar.gz
scala-c918b70784d41b0aa7efe5eea74e5ec7a4224421.tar.bz2
scala-c918b70784d41b0aa7efe5eea74e5ec7a4224421.zip
Unbreaking fsc with ensureDirectory().
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/CompileServer.scala2
-rw-r--r--src/compiler/scala/tools/nsc/CompileSocket.scala4
-rw-r--r--src/library/scala/io/Path.scala4
3 files changed, 7 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/CompileServer.scala b/src/compiler/scala/tools/nsc/CompileServer.scala
index 2f17c5916f..37f57bb862 100644
--- a/src/compiler/scala/tools/nsc/CompileServer.scala
+++ b/src/compiler/scala/tools/nsc/CompileServer.scala
@@ -142,7 +142,7 @@ class StandardCompileServer extends SocketServer
}
/** A directory holding redirected output */
- private val redirectDir = (compileSocket.tmpDir / "output-redirects").createDirectory()
+ private val redirectDir = (compileSocket.tmpDir / "output-redirects").ensureDirectory()
private def redirect(setter: PrintStream => Unit, filename: String): Unit =
setter(new PrintStream((redirectDir / filename).createFile.bufferedOutput()))
diff --git a/src/compiler/scala/tools/nsc/CompileSocket.scala b/src/compiler/scala/tools/nsc/CompileSocket.scala
index 182b5516f9..9b31cfe846 100644
--- a/src/compiler/scala/tools/nsc/CompileSocket.scala
+++ b/src/compiler/scala/tools/nsc/CompileSocket.scala
@@ -59,7 +59,7 @@ class CompileSocket {
/** A temporary directory to use */
val tmpDir = {
val udir = Option(Properties.userName) getOrElse "shared"
- val f = (Path(Properties.tmpDir) / "scala-devel" / udir).createDirectory()
+ val f = (Path(Properties.tmpDir) / "scala-devel" / udir).ensureDirectory()
if (f.isDirectory && f.canWrite) {
info("[Temp directory: " + f + "]")
@@ -69,7 +69,7 @@ class CompileSocket {
}
/* A directory holding port identification files */
- val portsDir = (tmpDir / dirName).createDirectory()
+ val portsDir = (tmpDir / dirName).ensureDirectory()
/** Maximum number of polls for an available port */
private val MaxAttempts = 100
diff --git a/src/library/scala/io/Path.scala b/src/library/scala/io/Path.scala
index 33c893b9be..043cb3e66b 100644
--- a/src/library/scala/io/Path.scala
+++ b/src/library/scala/io/Path.scala
@@ -147,6 +147,10 @@ class Path private[io] (val jfile: JFile)
if (jfile.createNewFile()) new File(jfile)
else fail("Failed to create new file.")
+ /** Like createDirectory, but does not fail if it already exists. */
+ def ensureDirectory(force: Boolean = true): Directory =
+ if (this.isDirectory) this.toDirectory else createDirectory(force)
+
// deletions
def delete() = jfile.delete()
def deleteIfExists() = if (jfile.exists()) delete() else false