override def containsBuild()

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)
        }
    }