Use new sbt syntax for defining `check-compilations` task.

Some scripted tests define `check-compilations` task. We can refactor them
to be more readable by using new `.value` syntax.
This commit is contained in:
Grzegorz Kossakowski 2014-05-12 16:11:49 +02:00
parent 066a12cd2a
commit 2ec6f5c589
2 changed files with 12 additions and 8 deletions

View File

@ -6,11 +6,13 @@ incOptions := incOptions.value.withAntStyle(true)
* a) checks in which compilation given set of files was recompiled * a) checks in which compilation given set of files was recompiled
* b) checks overall number of compilations performed * b) checks overall number of compilations performed
*/ */
TaskKey[Unit]("check-compilations") <<= (compile in Compile, scalaSource in Compile) map { (a: sbt.inc.Analysis, src: java.io.File) => TaskKey[Unit]("check-compilations") := {
def relative(f: java.io.File): java.io.File = f.relativeTo(src) getOrElse f val analysis = (compile in Compile).value
val allCompilations = a.compilations.allCompilations val srcDir = (scalaSource in Compile).value
def relative(f: java.io.File): java.io.File = f.relativeTo(srcDir) getOrElse f
val allCompilations = analysis.compilations.allCompilations
val recompiledFiles: Seq[Set[java.io.File]] = allCompilations map { c => val recompiledFiles: Seq[Set[java.io.File]] = allCompilations map { c =>
val recompiledFiles = a.apis.internal.collect { val recompiledFiles = analysis.apis.internal.collect {
case (file, api) if api.compilation.startTime == c.startTime => relative(file) case (file, api) if api.compilation.startTime == c.startTime => relative(file)
} }
recompiledFiles.toSet recompiledFiles.toSet

View File

@ -12,11 +12,13 @@ incOptions := incOptions.value.copy(recompileAllFraction = 1.0)
* a) checks in which compilation given set of files was recompiled * a) checks in which compilation given set of files was recompiled
* b) checks overall number of compilations performed * b) checks overall number of compilations performed
*/ */
TaskKey[Unit]("check-compilations") <<= (compile in Compile, scalaSource in Compile) map { (a: sbt.inc.Analysis, src: java.io.File) => TaskKey[Unit]("check-compilations") := {
def relative(f: java.io.File): java.io.File = f.relativeTo(src) getOrElse f val analysis = (compile in Compile).value
val allCompilations = a.compilations.allCompilations val srcDir = (scalaSource in Compile).value
def relative(f: java.io.File): java.io.File = f.relativeTo(srcDir) getOrElse f
val allCompilations = analysis.compilations.allCompilations
val recompiledFiles: Seq[Set[java.io.File]] = allCompilations map { c => val recompiledFiles: Seq[Set[java.io.File]] = allCompilations map { c =>
val recompiledFiles = a.apis.internal.collect { val recompiledFiles = analysis.apis.internal.collect {
case (file, api) if api.compilation.startTime == c.startTime => relative(file) case (file, api) if api.compilation.startTime == c.startTime => relative(file)
} }
recompiledFiles.toSet recompiledFiles.toSet