summaryrefslogtreecommitdiff
path: root/build.sc
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-11-26 09:20:14 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2017-11-26 09:20:14 -0800
commit39f38d4fd354ec70d4dcaf52a8804c8143b1c3f0 (patch)
tree24edca9345f5b46e436d7bfd0d1e14714abf73b2 /build.sc
parent4306f94c080f48bb8e4333af06ea8bc158beb219 (diff)
downloadmill-39f38d4fd354ec70d4dcaf52a8804c8143b1c3f0.tar.gz
mill-39f38d4fd354ec70d4dcaf52a8804c8143b1c3f0.tar.bz2
mill-39f38d4fd354ec70d4dcaf52a8804c8143b1c3f0.zip
Refactor `build.sc` to pull out common `ScalaModule` code into a separate trait
Also workaround a few scala-reflect bugs in `Discovered` and `Router` that were making this not-work
Diffstat (limited to 'build.sc')
-rwxr-xr-xbuild.sc26
1 files changed, 12 insertions, 14 deletions
diff --git a/build.sc b/build.sc
index 7ccb2d32..b3f636b0 100755
--- a/build.sc
+++ b/build.sc
@@ -2,9 +2,18 @@ import ammonite.ops._
import mill._
import mill.scalaplugin._
-
-object Core extends ScalaModule {
+trait MillModule extends ScalaModule{ outer =>
def scalaVersion = "2.12.4"
+ override def sources = basePath/'src/'main/'scala
+ object test extends this.Tests{
+ def basePath = outer.basePath
+ override def ivyDeps = Seq(Dep("com.lihaoyi", "utest", "0.6.0"))
+ override def sources = basePath/'src/'test/'scala
+ def testFramework = "mill.UTestFramework"
+ }
+}
+
+object Core extends MillModule {
override def compileIvyDeps = Seq(
Dep.Java("org.scala-lang", "scala-reflect", scalaVersion())
)
@@ -19,7 +28,6 @@ object Core extends ScalaModule {
)
def basePath = pwd / 'core
- override def sources = pwd/'core/'src/'main/'scala
val cross =
for(jarLabel <- mill.define.Cross("jarA", "jarB", "jarC"))
@@ -35,22 +43,12 @@ object Core extends ScalaModule {
PathRef(dest)
}
}
-
- object test extends this.Tests{
- def basePath = pwd / 'core
- override def ivyDeps = Seq(Dep("com.lihaoyi", "utest", "0.6.0"))
- override def sources = pwd/'core/'src/'test/'scala
- def testFramework = "mill.UTestFramework"
- }
}
+object ScalaPlugin extends MillModule {
-object ScalaPlugin extends ScalaModule {
- def scalaVersion = "2.12.4"
override def projectDeps = Seq(Core)
def basePath = pwd / 'scalaplugin
- override def sources = pwd/'scalaplugin/'src/'main/'scala
-
override def prependShellScript =
"#!/usr/bin/env sh\n" +
"exec java -cp \"$0\" mill.scalaplugin.Main \"$@\""