aboutsummaryrefslogtreecommitdiff
path: root/stage2
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2016-04-27 09:34:52 -0400
committerChristopher Vogt <oss.nsp@cvogt.org>2016-04-28 13:34:01 -0400
commit74ddcf55ccf0fb4c87b4b0ea06f95a6a419f262f (patch)
tree090030387bdfdb407e6e7430eaccf08dc9d11525 /stage2
parent63d1076783f3d39876c829108c335661948010b5 (diff)
downloadcbt-74ddcf55ccf0fb4c87b4b0ea06f95a6a419f262f.tar.gz
cbt-74ddcf55ccf0fb4c87b4b0ea06f95a6a419f262f.tar.bz2
cbt-74ddcf55ccf0fb4c87b4b0ea06f95a6a419f262f.zip
move soure file filterin logic into library for reusability
Diffstat (limited to 'stage2')
-rw-r--r--stage2/BasicBuild.scala10
-rw-r--r--stage2/Lib.scala9
2 files changed, 11 insertions, 8 deletions
diff --git a/stage2/BasicBuild.scala b/stage2/BasicBuild.scala
index 9f9dbdc..46f9d5a 100644
--- a/stage2/BasicBuild.scala
+++ b/stage2/BasicBuild.scala
@@ -63,16 +63,10 @@ class Build(val context: Context) extends Dependency with TriggerLoop with SbtDe
def compileStatusFile: File = compileTarget ++ ".last-success"
/** Source directories and files. Defaults to .scala and .java files in src/ and top-level. */
- def sources: Seq[File] = Seq(defaultSourceDirectory) ++ projectDirectory.listFiles.toVector.filter(sourceFileFilter)
-
- /** Which file endings to consider being source files. */
- def sourceFileFilter(file: File): Boolean = file.toString.endsWith(".scala") || file.toString.endsWith(".java")
+ def sources: Seq[File] = Seq(defaultSourceDirectory) ++ projectDirectory.listFiles.toVector.filter(lib.sourceFileFilter)
/** Absolute path names for all individual files found in sources directly or contained in directories. */
- final def sourceFiles: Seq[File] = for {
- base <- sources.filter(_.exists).map(lib.realpath)
- file <- lib.listFilesRecursive(base) if file.isFile && sourceFileFilter(file)
- } yield file
+ final def sourceFiles: Seq[File] = lib.sourceFiles(sources)
protected def assertSourceDirectories(): Unit = {
val nonExisting =
diff --git a/stage2/Lib.scala b/stage2/Lib.scala
index 6894073..3c5ff3a 100644
--- a/stage2/Lib.scala
+++ b/stage2/Lib.scala
@@ -209,6 +209,15 @@ final class Lib(logger: Logger) extends Stage1Lib(logger) with Scaffold{
def basename(path: File): String = path.toString.stripSuffix("/").split("/").last
def dirname(path: File): File = new File(realpath(path).string.stripSuffix("/").split("/").dropRight(1).mkString("/"))
def nameAndContents(file: File) = basename(file) -> readAllBytes(Paths.get(file.toString))
+ /** Which file endings to consider being source files. */
+ def sourceFileFilter(file: File): Boolean = file.toString.endsWith(".scala") || file.toString.endsWith(".java")
+
+ def sourceFiles( sources: Seq[File], sourceFileFilter: File => Boolean = sourceFileFilter ): Seq[File] = {
+ for {
+ base <- sources.filter(_.exists).map(lib.realpath)
+ file <- lib.listFilesRecursive(base) if file.isFile && sourceFileFilter(file)
+ } yield file
+ }
def jarFile( jarFile: File, files: Seq[File] ): Option[File] = {
if( files.isEmpty ){