aboutsummaryrefslogtreecommitdiff
path: root/stage1
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2017-02-26 21:39:12 +0800
committerChristopher Vogt <oss.nsp@cvogt.org>2017-02-26 21:42:27 +0800
commit623fc52d37dc8c171d1fa2a0bb346265054c4b40 (patch)
tree88841c588e874246d4a4fcff249b654c57cbefd7 /stage1
parent3277f82d75fd47a951cbf91590fdc823c1281ef9 (diff)
downloadcbt-623fc52d37dc8c171d1fa2a0bb346265054c4b40.tar.gz
cbt-623fc52d37dc8c171d1fa2a0bb346265054c4b40.tar.bz2
cbt-623fc52d37dc8c171d1fa2a0bb346265054c4b40.zip
make listRecursive a File extension method for brevity
Diffstat (limited to 'stage1')
-rw-r--r--stage1/Stage1Lib.scala9
-rw-r--r--stage1/cbt.scala6
2 files changed, 8 insertions, 7 deletions
diff --git a/stage1/Stage1Lib.scala b/stage1/Stage1Lib.scala
index 7f8f600..c42ee12 100644
--- a/stage1/Stage1Lib.scala
+++ b/stage1/Stage1Lib.scala
@@ -86,12 +86,6 @@ class Stage1Lib( logger: Logger ) extends BaseLib{
}
}
- def listFilesRecursive(f: File): Seq[File] = {
- f +: (
- if( f.isDirectory ) f.listFiles.flatMap(listFilesRecursive).toVector else Seq[File]()
- )
- }
-
// ========== compilation / execution ==========
def runMain( cls: String, args: Seq[String], classLoader: ClassLoader, fakeInstance: Boolean = false ): ExitCode = {
@@ -149,7 +143,8 @@ class Stage1Lib( logger: Logger ) extends BaseLib{
/** Given a directory corresponding to the root package, iterate
the names of all classes derived from the class files found */
def iterateClassNames( classesRootDirectory: File ): Seq[String] =
- listFilesRecursive(classesRootDirectory)
+ classesRootDirectory
+ .listRecursive
.filter(_.isFile)
.map(_.getPath)
.collect{
diff --git a/stage1/cbt.scala b/stage1/cbt.scala
index 8b6ebd8..5d2e2f5 100644
--- a/stage1/cbt.scala
+++ b/stage1/cbt.scala
@@ -28,6 +28,12 @@ object `package`{
def /(s: String): File = new File( file, s )
def parent = lib.realpath(file ++ "/..")
def string = file.toString
+
+ def listRecursive: Seq[File] = {
+ file +: (
+ if( file.isDirectory ) file.listFiles.flatMap(_.listRecursive).toVector else Seq[File]()
+ )
+ }
}
implicit class URLExtensionMethods( url: URL ){
def ++( s: String ): URL = new URL( url.toString ++ s )