aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build/build.scala2
-rw-r--r--stage1/Stage1.scala4
-rw-r--r--stage1/cbt.scala1
-rw-r--r--stage2/BasicBuild.scala4
-rw-r--r--stage2/Lib.scala2
5 files changed, 7 insertions, 6 deletions
diff --git a/build/build.scala b/build/build.scala
index 141b0a4..496acdc 100644
--- a/build/build.scala
+++ b/build/build.scala
@@ -17,5 +17,5 @@ class Build(val context: Context) extends Shared with PublishLocal{
override def sources = Seq(
"nailgun_launcher", "stage1", "stage2", "compatibility"
- ).map( projectDirectory / _ ).flatMap( _.listFiles )
+ ).map( projectDirectory / _ ).flatMap( _.listOrFail )
}
diff --git a/stage1/Stage1.scala b/stage1/Stage1.scala
index 62cab87..c243cc0 100644
--- a/stage1/Stage1.scala
+++ b/stage1/Stage1.scala
@@ -92,8 +92,8 @@ object Stage1{
val stage2sourceFiles = (
stage2.listFiles
- ++ (stage2 / "plugins").listFiles
- ++ (cbtHome / "libraries" / "eval").listFiles
+ ++ (stage2 / "plugins").listOrFail
+ ++ (cbtHome / "libraries" / "eval").listOrFail
).filter(_.isFile).filter(_.toString.endsWith(".scala"))
val cls = this.getClass.getClassLoader.loadClass("cbt.NailgunLauncher")
diff --git a/stage1/cbt.scala b/stage1/cbt.scala
index b97ad44..8cba9df 100644
--- a/stage1/cbt.scala
+++ b/stage1/cbt.scala
@@ -62,6 +62,7 @@ object `package`{
file.delete
}
+ def listOrFail: Seq[File] = Option( file.listFiles ).getOrElse( throw new Exception( "no such file: " + file ) ).toVector
def listRecursive: Seq[File] = {
file +: (
if( file.isDirectory ) file.listFiles.flatMap(_.listRecursive).toVector else Seq[File]()
diff --git a/stage2/BasicBuild.scala b/stage2/BasicBuild.scala
index 491cdba..fcda629 100644
--- a/stage2/BasicBuild.scala
+++ b/stage2/BasicBuild.scala
@@ -96,7 +96,7 @@ trait BaseBuild extends BuildInterface with DependencyImplementation with SbtDep
def sources: Seq[File] = (
Seq(defaultSourceDirectory)
++ generatedSources
- ++ projectDirectory.listFiles.toVector.filter(sourceFileFilter)
+ ++ projectDirectory.listOrFail.toVector.filter(sourceFileFilter)
)
/** Which file endings to consider being source files. */
@@ -130,7 +130,7 @@ trait BaseBuild extends BuildInterface with DependencyImplementation with SbtDep
def localJars: Seq[File] =
Seq(projectDirectory ++ "/lib")
.filter(_.exists)
- .flatMap(_.listFiles)
+ .flatMap(_.listOrFail)
.filter(_.toString.endsWith(".jar"))
override def dependencyClasspath : ClassPath = super.dependencyClasspath
diff --git a/stage2/Lib.scala b/stage2/Lib.scala
index bb59604..04e68f1 100644
--- a/stage2/Lib.scala
+++ b/stage2/Lib.scala
@@ -202,7 +202,7 @@ final class Lib(val logger: Logger) extends Stage1Lib(logger){
def depthFirstFileStream(file: File): Vector[File] = {
(
if (file.isDirectory) {
- file.listFiles.toVector.flatMap(depthFirstFileStream(_))
+ file.listOrFail.toVector.flatMap(depthFirstFileStream(_))
} else Vector()
) :+ file
}