diff options
Diffstat (limited to 'stage2/mixins.scala')
-rw-r--r-- | stage2/mixins.scala | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/stage2/mixins.scala b/stage2/mixins.scala new file mode 100644 index 0000000..5ed26d8 --- /dev/null +++ b/stage2/mixins.scala @@ -0,0 +1,35 @@ +package cbt +package mixins +import scala.collection.immutable.Seq +import java.io._ +trait Test extends Build{ + lazy val testedBuild = BuildDependency(projectDirectory+"/../") + override def dependencies = Seq( testedBuild ) ++ super.dependencies + override def scalaVersion = testedBuild.build.scalaVersion +} +trait Sbt extends Build{ + override def sources = Seq(new File(projectDirectory+"/src/main/scala/")) +} +trait SbtTest extends Test{ + override def sources = Vector(new File(projectDirectory+"/../src/test/scala")) +} +trait ScalaTest extends Build with Test{ + def scalaTestVersion: String + + override def dependencies = Seq( + "org.scalatest" %% "scalatest" % scalaTestVersion + ) ++ super.dependencies + + // workaround probable ScalaTest bug throwing away the outer classloader. Not caching doesn't nest them. + override def cacheDependencyClassLoader = false + + override def run = { + val discoveryPath = compile.toString+"/" + context.logger.lib("discoveryPath: "+discoveryPath) + lib.runMain( + "org.scalatest.tools.Runner", + Seq("-R", discoveryPath, "-oF") ++ context.args.drop(1), + classLoader + ) + } +} |