-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBuildrModule.sc
More file actions
45 lines (40 loc) · 1.12 KB
/
BuildrModule.sc
File metadata and controls
45 lines (40 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import mill._
import scalalib._
import scala.util.Properties
trait BuildrModule extends ScalaModule {
override def scalaVersion = BuildInfo.scalaVersion
override def ivyDeps =
super.ivyDeps() ++ BuildInfo.millEmbeddedDeps.map(Dep.parse)
private def logger = {
val colors = interp.colors()
new mill.util.PrintLogger(
colors != ammonite.util.Colors.BlackWhite,
false,
colors.info(),
colors.error(),
System.out,
System.err,
System.err,
System.in,
debugEnabled = true,
context = ""
)
}
private def evaluator(rootModule: define.BaseModule) = {
mill.eval.Evaluator(
Properties
.envOrNone("AMMONITE_HOME")
.map(os.Path(_))
.getOrElse(os.home / ".mill" / "ammonite"),
os.pwd / "out" / "buildr-eval",
os.pwd / "out" / "buildr-eval",
rootModule = rootModule,
baseLogger = logger
)
}
def loadRuntime(rootModule: define.BaseModule): Unit = {
val eval = mill.eval.Evaluator.evalOrThrow(evaluator(rootModule))
val paths = eval[Seq[PathRef]](runClasspath)
interp.load.cp(paths.map(_.path))
}
}