Skip to content

Commit

Permalink
Replaced deprecated API calls
Browse files Browse the repository at this point in the history
  • Loading branch information
lefou committed Oct 10, 2021
1 parent 804a07e commit 07333fa
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 17 deletions.
5 changes: 3 additions & 2 deletions contrib/scoverage/src/ScoverageReport.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import mill.contrib.scoverage.api.ScoverageReportWorkerApi.ReportType
import mill.define.{Command, Module, Task}
import mill.eval.Evaluator
import mill.main.RunScript
import mill.util.SelectMode
import mill.{PathRef, T}
import os.Path

Expand Down Expand Up @@ -84,7 +85,7 @@ trait ScoverageReport extends Module {
mill.main.ResolveTasks,
evaluator,
Seq(sources),
multiSelect = false
SelectMode.Single
) match {
case Left(err) => throw new Exception(err)
case Right(tasks) => tasks.asInstanceOf[Seq[Task[Seq[PathRef]]]]
Expand All @@ -93,7 +94,7 @@ trait ScoverageReport extends Module {
mill.main.ResolveTasks,
evaluator,
Seq(dataTargets),
multiSelect = false
SelectMode.Single
) match {
case Left(err) => throw new Exception(err)
case Right(tasks) => tasks.asInstanceOf[Seq[Task[PathRef]]]
Expand Down
52 changes: 38 additions & 14 deletions main/src/mill/main/MainModule.scala
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,51 @@ import mill.T
import mill.api.{Ctx, PathRef, Result}
import mill.define.{Command, NamedTask, Task}
import mill.eval.Evaluator
import mill.util.{PrintLogger, Watched}
import mill.util.SelectMode.Multi
import mill.util.{PrintLogger, SelectMode, Watched}
import os.Path
import pprint.{Renderer, Truncated}

object MainModule {
@deprecated(
"use resolveTasks(Evaluator, Seq[String], SelectMode) instead",
"mill after 0.10.0-M3"
)
def resolveTasks[T](
evaluator: Evaluator,
targets: Seq[String],
multiSelect: Boolean
)(f: List[NamedTask[Any]] => T) = {
RunScript.resolveTasks(mill.main.ResolveTasks, evaluator, targets, multiSelect) match {
)(f: List[NamedTask[Any]] => T): Result[T] =
resolveTasks(evaluator, targets, if (multiSelect) SelectMode.Multi else SelectMode.Single)(f)

def resolveTasks[T](
evaluator: Evaluator,
targets: Seq[String],
selectMode: SelectMode
)(f: List[NamedTask[Any]] => T): Result[T] = {
RunScript.resolveTasks(mill.main.ResolveTasks, evaluator, targets, selectMode) match {
case Left(err) => Result.Failure(err)
case Right(tasks) => Result.Success(f(tasks))
}
}

@deprecated(
"use evaluateTasks(Evaluator, Seq[String], SelectMode) instead",
"mill after 0.10.0-M3"
)
def evaluateTasks[T](
evaluator: Evaluator,
targets: Seq[String],
multiSelect: Boolean
)(f: Seq[(Any, Option[ujson.Value])] => T) = {
RunScript.evaluateTasks(evaluator, targets, multiSelect) match {
)(f: Seq[(Any, Option[ujson.Value])] => T): Result[Watched[Unit]] =
evaluateTasks(evaluator, targets, if (multiSelect) SelectMode.Multi else SelectMode.Single)(f)

def evaluateTasks[T](
evaluator: Evaluator,
targets: Seq[String],
selectMode: SelectMode
)(f: Seq[(Any, Option[ujson.Value])] => T): Result[Watched[Unit]] = {
RunScript.evaluateTasks(evaluator, targets, selectMode) match {
case Left(err) => Result.Failure(err)
case Right((watched, Left(err))) => Result.Failure(err, Some(Watched((), watched)))
case Right((watched, Right(res))) =>
Expand Down Expand Up @@ -61,7 +85,7 @@ trait MainModule extends mill.Module {
mill.main.ResolveMetadata,
evaluator,
targets,
multiSelect = true
SelectMode.Multi
)

resolved match {
Expand Down Expand Up @@ -91,7 +115,7 @@ trait MainModule extends mill.Module {
mill.main.ResolveTasks,
evaluator,
targets,
multiSelect = true
SelectMode.Multi
) match {
case Left(err) => Left(err)
case Right(rs) =>
Expand All @@ -111,7 +135,7 @@ trait MainModule extends mill.Module {
mill.main.ResolveTasks,
evaluator,
List(src, dest),
multiSelect = true
SelectMode.Multi
)

resolved match {
Expand Down Expand Up @@ -151,7 +175,7 @@ trait MainModule extends mill.Module {
* Displays metadata about the given task without actually running it.
*/
def inspect(evaluator: Evaluator, targets: String*): Command[String] = mill.T.command {
MainModule.resolveTasks(evaluator, targets, multiSelect = true) { tasks =>
MainModule.resolveTasks(evaluator, targets, SelectMode.Multi) { tasks =>
val output = new StringBuilder
for {
task <- tasks
Expand Down Expand Up @@ -184,7 +208,7 @@ trait MainModule extends mill.Module {
if (evaluator.effectiveThreadCount > 1) evaluator.copy(threadCount = Some(1))
else evaluator,
targets = targets,
multiSelect = true
SelectMode.Multi
) { res =>
res.flatMap(_._2)
}
Expand All @@ -197,7 +221,7 @@ trait MainModule extends mill.Module {
MainModule.evaluateTasks(
evaluator = evaluator,
targets = targets,
multiSelect = true
SelectMode.Multi
) { res =>
res.flatMap(_._2)
}
Expand All @@ -219,7 +243,7 @@ trait MainModule extends mill.Module {
}
),
targets,
multiSelect = false
SelectMode.Separated
) { res =>
for (json <- res.flatMap(_._2)) {
T.log.outputStream.println(json.render(indent = 4))
Expand Down Expand Up @@ -255,7 +279,7 @@ trait MainModule extends mill.Module {
mill.main.ResolveSegments,
evaluator,
targets,
multiSelect = true
SelectMode.Multi
).map(
_.map { segments =>
Evaluator.resolveDestPaths(rootDir, segments).out
Expand Down Expand Up @@ -328,7 +352,7 @@ trait MainModule extends mill.Module {
mill.main.ResolveTasks,
evaluator,
targets,
multiSelect = true
SelectMode.Multi
) match {
case Left(err) => Result.Failure(err)
case Right(rs) => planTasks match {
Expand Down
3 changes: 2 additions & 1 deletion main/src/mill/main/MainScopts.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package mill.main

import mill.eval.Evaluator
import mill.util.SelectMode

case class Tasks[T](value: Seq[mill.define.NamedTask[T]])

Expand All @@ -14,7 +15,7 @@ object Tasks {
mill.main.ResolveTasks,
Evaluator.currentEvaluator.get,
s,
multiSelect = false
SelectMode.Single
).map(x => Tasks(x.asInstanceOf[Seq[mill.define.NamedTask[T]]])),
alwaysRepeatable = false,
allowEmpty = false
Expand Down

0 comments on commit 07333fa

Please sign in to comment.