@@ -45,20 +45,23 @@ final class MillAlg[F[_]](defaultResolver: Resolver)(implicit
4545 .map(_.nonEmpty)
4646 )
4747
48- private def runMill (buildRootDir : File ) = {
49- val options =
50- List (" --no-server" , " --ticker=false" , " --import" , cliPluginCoordinate, " show" , extractDeps)
51- val command = Nel (" mill" , options)
52- processAlg.execSandboxed(command, buildRootDir)
53- }
54- private def runMillUnder011 (buildRootDir : File , millBuildVersion : Option [Version ]) = {
55- val predef = buildRootDir / " scala-steward.sc"
56- val predefContent = content(millBuildVersion)
57- val command = Nel (" mill" , List (" -i" , " -p" , predef.toString, " show" , extractDeps))
58- fileAlg.createTemporarily(predef, predefContent).surround {
59- processAlg.execSandboxed(command, buildRootDir)
48+ private def runMill (buildRootDir : File , millBuildVersion : Option [Version ]): F [List [String ]] =
49+ millBuildVersion match {
50+ case Some (v) if v >= Version (" 0.11" ) =>
51+ val noTicker =
52+ if (v >= Version (" 0.12" )) List (" --ticker" , " false" ) else List (" --disable-ticker" )
53+ val options =
54+ " --no-server" :: noTicker ++ List (" --import" , cliPluginCoordinate, " show" , extractDeps)
55+ val command = Nel (" mill" , options)
56+ processAlg.execSandboxed(command, buildRootDir)
57+ case _ =>
58+ val predef = buildRootDir / " scala-steward.sc"
59+ val predefContent = content(millBuildVersion)
60+ val command = Nel (" mill" , List (" -i" , " -p" , predef.toString, " show" , extractDeps))
61+ fileAlg.createTemporarily(predef, predefContent).surround {
62+ processAlg.execSandboxed(command, buildRootDir)
63+ }
6064 }
61- }
6265
6366 override def getDependencies (buildRoot : BuildRoot ): F [List [Scope .Dependencies ]] =
6467 for {
@@ -79,9 +82,7 @@ final class MillAlg[F[_]](defaultResolver: Resolver)(implicit
7982 millBuildVersion : Option [Version ]
8083 ): F [List [Scope .Dependencies ]] =
8184 for {
82- extracted <-
83- if (isMillVersionGreaterOrEqual011(millBuildVersion)) runMill(buildRootDir)
84- else runMillUnder011(buildRootDir, millBuildVersion)
85+ extracted <- runMill(buildRootDir, millBuildVersion)
8586 parsed <- F .fromEither(
8687 parser.parseModules(extracted.dropWhile(! _.startsWith(" {" )).mkString(" \n " ))
8788 )
@@ -110,9 +111,6 @@ final class MillAlg[F[_]](defaultResolver: Resolver)(implicit
110111}
111112
112113object MillAlg {
113- private [mill] def isMillVersionGreaterOrEqual011 (millVersion : Option [Version ]): Boolean =
114- millMinVersion(millVersion).flatMap(_.toIntOption).exists(_ >= 11 )
115-
116114 private [mill] def millMinVersion (millVersion : Option [Version ]): Option [String ] =
117115 millVersion.flatMap(_.value.trim.split(" [.]" , 3 ).take(2 ).lastOption)
118116
0 commit comments