From 0fee43295ea0c1b4831f0aa4bb285da484c3ab93 Mon Sep 17 00:00:00 2001 From: dmharrah Date: Tue, 7 Jul 2009 01:11:46 +0000 Subject: [PATCH] Make multiTask run all subtasks when none are specified. git-svn-id: https://simple-build-tool.googlecode.com/svn/trunk@847 d89573ee-9141-11dd-94d4-bdf5e562f29c --- src/main/scala/sbt/ScalaProject.scala | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/scala/sbt/ScalaProject.scala b/src/main/scala/sbt/ScalaProject.scala index 4e1110fcb..7572c628c 100644 --- a/src/main/scala/sbt/ScalaProject.scala +++ b/src/main/scala/sbt/ScalaProject.scala @@ -345,17 +345,25 @@ trait MultiTaskProject extends Project { def multiTask(allTests: => List[String])(run: (String => Boolean) => Task) = task { tests => - val (exactFilters, testFilters) = tests.toList.map(GlobFilter.apply).partition(_.isInstanceOf[ExactFilter]) - val includeTests = exactFilters.map(_.asInstanceOf[ExactFilter].matchName) - val toCheck = scala.collection.mutable.HashSet(includeTests: _*) - toCheck --= allTests - if(!toCheck.isEmpty && log.atLevel(Level.Warn)) + def filterInclude = { - log.warn("Test(s) not found:") - toCheck.foreach(test => log.warn("\t" + test)) + val (exactFilters, testFilters) = tests.toList.map(GlobFilter.apply).partition(_.isInstanceOf[ExactFilter]) + val includeTests = exactFilters.map(_.asInstanceOf[ExactFilter].matchName) + val toCheck = scala.collection.mutable.HashSet(includeTests: _*) + toCheck --= allTests + if(!toCheck.isEmpty && log.atLevel(Level.Warn)) + { + log.warn("Test(s) not found:") + toCheck.foreach(test => log.warn("\t" + test)) + } + val includeTestsSet = Set(includeTests: _*) + (test: String) => includeTestsSet.contains(test) || testFilters.exists(_.accept(test)) } - val includeTestsSet = Set(includeTests: _*) - val includeFunction = (test: String) => includeTestsSet.contains(test) || testFilters.exists(_.accept(test)) + val includeFunction = + if(tests.isEmpty) + (test: String) => true + else + filterInclude run(includeFunction) } completeWith allTests