diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2017-11-03 23:44:39 -0700 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2017-11-03 23:44:39 -0700 |
commit | 13270145903b457c906a9fa77bd152afb6448ef5 (patch) | |
tree | e85b7ed530e0c8e3c3041cbf17641857c448b602 /scalaplugin/src/test | |
parent | 66f1c5c2438aeb8f2496575f52c25b09cf5793a6 (diff) | |
download | mill-13270145903b457c906a9fa77bd152afb6448ef5.tar.gz mill-13270145903b457c906a9fa77bd152afb6448ef5.tar.bz2 mill-13270145903b457c906a9fa77bd152afb6448ef5.zip |
Split up forge into `scalaplugin` an `core` subprojects, to allow us to use the `T#apply` macro in the implementation of `scalaplugin.Subproject`
Also needed to implement inter-`Subproject` dependencies so the `MetacircularTests` can continue to support the new layout
Diffstat (limited to 'scalaplugin/src/test')
-rw-r--r-- | scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala b/scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala new file mode 100644 index 00000000..05dd0dbd --- /dev/null +++ b/scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala @@ -0,0 +1,68 @@ +package forge +package scalaplugin + +import ammonite.ops.pwd +import coursier.{Dependency => Dep, Module => Mod} +import forge.util.{OSet, PathRef} +import utest._ + +object MetacircularTests extends TestSuite{ + object Core extends Subproject { + val scalaVersion = T{ "2.12.4" } + override val compileIvyDeps = T{ + Seq( + Dep(Mod("org.scala-lang", "scala-reflect"), scalaVersion(), configuration = "provided") + ) + } + + override val ivyDeps = T{ + Seq( + Dep(Mod("com.lihaoyi", "sourcecode_" + scalaBinaryVersion()), "0.1.4"), + Dep(Mod("com.lihaoyi", "pprint_" + scalaBinaryVersion()), "0.5.3"), + Dep(Mod("com.lihaoyi", "ammonite_" + scalaVersion()), "1.0.3"), + Dep(Mod("com.typesafe.play", "play-json_" + scalaBinaryVersion()), "2.6.6"), + Dep(Mod("org.scala-sbt", "zinc_" + scalaBinaryVersion()), "1.0.3") + ) + } + + + val basePath = T{ pwd / 'core } + override val sources = T{ PathRef(pwd/'core/'src/'main/'scala) } + override val resources = T{ sources } + } + object ScalaPlugin extends Subproject { + val scalaVersion = T.apply{ "2.12.4" } + + override val ivyDeps = T{ + Seq( + Dep(Mod("com.lihaoyi", "sourcecode_" + scalaBinaryVersion()), "0.1.4"), + Dep(Mod("com.lihaoyi", "pprint_" + scalaBinaryVersion()), "0.5.3"), + Dep(Mod("com.lihaoyi", "ammonite_" + scalaVersion()), "1.0.3"), + Dep(Mod("com.typesafe.play", "play-json_" + scalaBinaryVersion()), "2.6.6"), + Dep(Mod("org.scala-sbt", "zinc_" + scalaBinaryVersion()), "1.0.3") + ) + } + + + override val depClasspath = T{ Seq(Core.compiled()) } + val basePath = T{ pwd / 'scalaplugin } + override val sources = T{ PathRef(pwd/'scalaplugin/'src/'main/'scala) } + override val resources = T{ sources } + } + + val tests = Tests{ + 'scalac { + val workspacePath = pwd / 'target / 'workspace / 'meta + val mapping = Discovered.mapping(MetacircularTests) + val evaluator = new Evaluator(workspacePath, mapping) +// val evaluated1 = evaluator.evaluate(OSet(Self.scalaVersion)).evaluated.collect(mapping) +// val evaluated2 = evaluator.evaluate(OSet(Self.scalaBinaryVersion)).evaluated.collect(mapping) +// val evaluated3 = evaluator.evaluate(OSet(Self.compileDeps)).evaluated.collect(mapping) +// val evaluated4 = evaluator.evaluate(OSet(Self.deps)).evaluated.collect(mapping) + val evaluated5 = evaluator.evaluate(OSet(Core.compiled)).evaluated.collect(mapping) + val evaluated6 = evaluator.evaluate(OSet(ScalaPlugin.compiled)).evaluated.collect(mapping) +// evaluated3 + } + } +} + |