diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2017-11-04 09:48:13 -0700 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2017-11-04 09:48:13 -0700 |
commit | 546261a0c801daa4ab7be2464ed275e88a6c0787 (patch) | |
tree | 2fd45059fa773a49ee6123d077a8b7df7fb40424 /scalaplugin | |
parent | 3b10725ee3a1f84855a0654c5e386bc7465816d3 (diff) | |
download | mill-546261a0c801daa4ab7be2464ed275e88a6c0787.tar.gz mill-546261a0c801daa4ab7be2464ed275e88a6c0787.tar.bz2 mill-546261a0c801daa4ab7be2464ed275e88a6c0787.zip |
Migrate `MetacircularTests` over to new cached-def mechanism
Diffstat (limited to 'scalaplugin')
-rw-r--r-- | scalaplugin/src/main/scala/forge/scalaplugin/Subproject.scala | 33 | ||||
-rw-r--r-- | scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala | 26 |
2 files changed, 30 insertions, 29 deletions
diff --git a/scalaplugin/src/main/scala/forge/scalaplugin/Subproject.scala b/scalaplugin/src/main/scala/forge/scalaplugin/Subproject.scala index 52a58bba..47bc9b23 100644 --- a/scalaplugin/src/main/scala/forge/scalaplugin/Subproject.scala +++ b/scalaplugin/src/main/scala/forge/scalaplugin/Subproject.scala @@ -5,6 +5,7 @@ import java.io.File import ammonite.ops.{Path, ls, mkdir, pwd} import coursier.{Cache, Dependency, Fetch, MavenRepository, Module, Repository, Resolution} +import forge.Target.Cacher import forge.{Target => T} import forge.util.PathRef import play.api.libs.json._ @@ -142,22 +143,22 @@ object Subproject{ } import Subproject._ -abstract class Subproject { - val scalaVersion: T[String] +abstract class Subproject extends Cacher{ + def scalaVersion: T[String] - val scalaBinaryVersion = T{ scalaVersion().split('.').dropRight(1).mkString(".") } - val ivyDeps = T{ Seq[ScalaDep]() } - val compileIvyDeps = T{ Seq[ScalaDep]() } - val runIvyDeps = T{ Seq[ScalaDep]() } - val basePath: T[Path] + def scalaBinaryVersion = T{ scalaVersion().split('.').dropRight(1).mkString(".") } + def ivyDeps = T{ Seq[ScalaDep]() } + def compileIvyDeps = T{ Seq[ScalaDep]() } + def runIvyDeps = T{ Seq[ScalaDep]() } + def basePath: T[Path] val repositories: Seq[Repository] = Seq( Cache.ivy2Local, MavenRepository("https://repo1.maven.org/maven2") ) - val depClasspath = T{ Seq.empty[PathRef] } - val compileDepClasspath = T[Seq[PathRef]] { + def depClasspath = T{ Seq.empty[PathRef] } + def compileDepClasspath = T[Seq[PathRef]] { depClasspath() ++ resolveDependencies( repositories, scalaVersion(), @@ -166,7 +167,7 @@ abstract class Subproject { ) } - val runDepClasspath = T[Seq[PathRef]] { + def runDepClasspath = T[Seq[PathRef]] { depClasspath() ++ resolveDependencies( repositories, scalaVersion(), @@ -175,14 +176,14 @@ abstract class Subproject { ) } - val sources = T{ PathRef(basePath() / 'src) } - val outputPath = T{ basePath() / 'out } - val resources = T{ PathRef(basePath() / 'resources) } - val compiledPath = T{ outputPath() / 'classpath } - val compiled = T{ + def sources = T{ PathRef(basePath() / 'src) } + def outputPath = T{ basePath() / 'out } + def resources = T{ PathRef(basePath() / 'resources) } + def compiledPath = T{ outputPath() / 'classpath } + def compiled = T{ compileScala(scalaVersion, sources, compileDepClasspath, outputPath) } - val classpath = T{ Seq(resources(), compiled()) } + def classpath = T{ Seq(resources(), compiled()) } // val jar = T{ createJar(classpath) } } diff --git a/scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala b/scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala index 028665c8..54a21607 100644 --- a/scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala +++ b/scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala @@ -9,15 +9,15 @@ import utest._ object MetacircularTests extends TestSuite{ object Core extends Subproject { - val scalaVersion = T{ "2.12.4" } - override val compileIvyDeps = T{ - Seq[ScalaDep]( + def scalaVersion = T{ "2.12.4" } + override def compileIvyDeps = T{ + super.compileIvyDeps() ++ Seq[ScalaDep]( Dep(Mod("org.scala-lang", "scala-reflect"), scalaVersion(), configuration = "provided") ) } - override val ivyDeps = T{ - Seq[ScalaDep]( + override def ivyDeps = T{ + super.ivyDeps() ++ Seq[ScalaDep]( ScalaDep.Scala(Dep(Mod("com.lihaoyi", "sourcecode"), "0.1.4")), ScalaDep.Scala(Dep(Mod("com.lihaoyi", "pprint"), "0.5.3")), ScalaDep.PointScala(Dep(Mod("com.lihaoyi", "ammonite"), "1.0.3")), @@ -27,18 +27,18 @@ object MetacircularTests extends TestSuite{ } - val basePath = T{ pwd / 'core } - override val sources = T{ PathRef(pwd/'core/'src/'main/'scala) } - override val resources = T{ sources } + def basePath = T{ pwd / 'core } + override def sources = T{ PathRef(pwd/'core/'src/'main/'scala) } + override def resources = T{ sources } } object ScalaPlugin extends Subproject { - val scalaVersion = T{ "2.12.4" } + def scalaVersion = T{ "2.12.4" } - override val depClasspath = T{ Seq(Core.compiled()) } - override val ivyDeps = T{ Core.ivyDeps } + override def depClasspath = T{ Seq(Core.compiled()) } + override def ivyDeps = T{ Core.ivyDeps } val basePath = T{ pwd / 'scalaplugin } - override val sources = T{ PathRef(pwd/'scalaplugin/'src/'main/'scala) } - override val resources = T{ sources } + override def sources = T{ PathRef(pwd/'scalaplugin/'src/'main/'scala) } + override def resources = T{ sources } } val tests = Tests{ |