in modules/core/src/main/scala/org/scalasteward/core/buildtool/mill/MillAlg.scala [38:62]
override def containsBuild(buildRoot: BuildRoot): F[Boolean] =
workspaceAlg.buildRootDir(buildRoot).flatMap(findBuildFile).map(_.nonEmpty)
private def findBuildFile(buildRootDir: File): F[Option[File]] =
List("build.sc", "build.mill", "build.mill.scala")
.map(buildRootDir / _)
.findM(fileAlg.isRegularFile)
private def runMill(buildRootDir: File, millBuildVersion: Option[Version]): F[List[String]] =
millBuildVersion match {
case Some(v) if v >= Version("0.11") =>
val noTicker =
if (v >= Version("0.12")) List("--ticker", "false") else List("--disable-ticker")
val options =
"--no-server" :: noTicker ++ List("--import", cliPluginCoordinate, "show", extractDeps)
val command = Nel("mill", options)
processAlg.execSandboxed(command, buildRootDir)
case _ =>
val predef = buildRootDir / "scala-steward.sc"
val predefContent = content(millBuildVersion)
val command = Nel("mill", List("-i", "-p", predef.toString, "show", extractDeps))
fileAlg.createTemporarily(predef, predefContent).surround {
processAlg.execSandboxed(command, buildRootDir)
}
}