blob: 5cc4d7baeaa0e75fc5e83f26d37f3536fcd7a67e (
plain) (
blame)
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
|
package mill.main
import mill.eval.Evaluator
case class Tasks[T](value: Seq[mill.define.NamedTask[T]])
object Tasks{
class Scopt[T]() extends scopt.Read[Tasks[T]] {
def arity = 1
def reads = s => {
RunScript.resolveTasks(
mill.main.ResolveTasks,
Evaluator.currentEvaluator.get,
Seq(s),
multiSelect = false
) match{
case Left(err) => throw new Exception(err)
case Right(tasks) => Tasks(tasks).asInstanceOf[Tasks[T]]
}
}
}
}
class EvaluatorScopt[T]()
extends scopt.Read[mill.eval.Evaluator]{
def arity = 0
def reads = s => try{
Evaluator.currentEvaluator.get.asInstanceOf[mill.eval.Evaluator]
}
}
|