aboutsummaryrefslogtreecommitdiff
path: root/stage2/mixins.scala
diff options
context:
space:
mode:
Diffstat (limited to 'stage2/mixins.scala')
-rw-r--r--stage2/mixins.scala35
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
+ )
+ }
+}