summaryrefslogtreecommitdiff
path: root/scalaplugin/src
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-11-04 09:48:13 -0700
committerLi Haoyi <haoyi.sg@gmail.com>2017-11-04 09:48:13 -0700
commit546261a0c801daa4ab7be2464ed275e88a6c0787 (patch)
tree2fd45059fa773a49ee6123d077a8b7df7fb40424 /scalaplugin/src
parent3b10725ee3a1f84855a0654c5e386bc7465816d3 (diff)
downloadmill-546261a0c801daa4ab7be2464ed275e88a6c0787.tar.gz
mill-546261a0c801daa4ab7be2464ed275e88a6c0787.tar.bz2
mill-546261a0c801daa4ab7be2464ed275e88a6c0787.zip
Migrate `MetacircularTests` over to new cached-def mechanism
Diffstat (limited to 'scalaplugin/src')
-rw-r--r--scalaplugin/src/main/scala/forge/scalaplugin/Subproject.scala33
-rw-r--r--scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala26
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{