From ad2094b06eb7e313b3655ae0cae98b50787177d3 Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Tue, 7 Jun 2016 11:07:09 -0400 Subject: separate sbt layout and scalatest plugins and create a more general plugin architecture --- plugins/sbt_layout/SbtLayout.scala | 10 ++++++++++ plugins/sbt_layout/build/build.scala | 2 ++ plugins/scalajs/build/build.scala | 8 +------- plugins/scalatest/ScalaTest.scala | 27 +++------------------------ plugins/scalatest/build/build.scala | 5 ++--- 5 files changed, 18 insertions(+), 34 deletions(-) create mode 100644 plugins/sbt_layout/SbtLayout.scala create mode 100644 plugins/sbt_layout/build/build.scala (limited to 'plugins') diff --git a/plugins/sbt_layout/SbtLayout.scala b/plugins/sbt_layout/SbtLayout.scala new file mode 100644 index 0000000..5cd7a03 --- /dev/null +++ b/plugins/sbt_layout/SbtLayout.scala @@ -0,0 +1,10 @@ +package cbt + +trait SbtLayoutTest extends BaseBuild{ + override def sources = Seq(projectDirectory ++ "/src/test/scala") + override def compileTarget = super.compileTarget.getParentFile ++ "/test-classes" +} + +trait SbtLayoutMain extends BaseBuild{ + override def sources = Seq( projectDirectory ++ "/src/main/scala" ) +} diff --git a/plugins/sbt_layout/build/build.scala b/plugins/sbt_layout/build/build.scala new file mode 100644 index 0000000..80ff3ba --- /dev/null +++ b/plugins/sbt_layout/build/build.scala @@ -0,0 +1,2 @@ +import cbt._ +class Build(val context: Context) extends Plugin diff --git a/plugins/scalajs/build/build.scala b/plugins/scalajs/build/build.scala index 9a73704..0205cf8 100644 --- a/plugins/scalajs/build/build.scala +++ b/plugins/scalajs/build/build.scala @@ -1,9 +1,3 @@ import cbt._ -class Build(context: Context) extends BasicBuild(context) { - - override def dependencies = - super.dependencies :+ - context.cbtDependency -} - +class Build(val context: Context) extends Plugin diff --git a/plugins/scalatest/ScalaTest.scala b/plugins/scalatest/ScalaTest.scala index 9335982..ee96431 100644 --- a/plugins/scalatest/ScalaTest.scala +++ b/plugins/scalatest/ScalaTest.scala @@ -1,29 +1,6 @@ -import cbt._ +package cbt import org.scalatest._ -import org.scalatest -/* FIXME: - - Separate out SbtLayout - - Allow depending on this via a git dependency. - Probably by adding support for subfolders to "GitDependency" -*/ - -trait SbtLayout extends BaseBuild{ - outer => - override def sources = Seq( projectDirectory ++ "/src/main/scala" ) - def testSources = projectDirectory ++ "/src/test/scala" - def testDependencies: Seq[Dependency] = Nil - lazy val testBuild = - new BasicBuild(context) with ScalaTest{ - override def sources = Seq(testSources) - override def target = outer.target - override def compileTarget = outer.scalaTarget ++ "/test-classes" - override def dependencies = (outer +: testDependencies) ++ super.dependencies - } - override def test: Option[ExitCode] = - if(testSources.exists) Some( testBuild.run ) - else None -} trait ScalaTest extends BaseBuild{ override def run: ExitCode = { @@ -33,9 +10,11 @@ trait ScalaTest extends BaseBuild{ runSuites( suiteNames.map( loadSuite( _, _classLoader ) ) ) ExitCode.Success } + override def dependencies = super.dependencies ++ Resolver( mavenCentral ).bind( ScalaDependency("org.scalatest","scalatest","2.2.4") ) } object ScalaTestLib{ + import java.io.File def runSuites(suites: Seq[Suite]) = { def color: Boolean = true def durations: Boolean = true diff --git a/plugins/scalatest/build/build.scala b/plugins/scalatest/build/build.scala index 0306ba7..dd21898 100644 --- a/plugins/scalatest/build/build.scala +++ b/plugins/scalatest/build/build.scala @@ -1,10 +1,9 @@ import cbt._ -class Build(val context: Context) extends BaseBuild{ +class Build(val context: Context) extends Plugin{ override def dependencies = super.dependencies ++ Resolver( mavenCentral ).bind( ScalaDependency("org.scalatest","scalatest","2.2.4") - ) :+ - context.cbtDependency + ) } -- cgit v1.2.3