Skip to content

Commit eff8226

Browse files
committed
fix: Fix MillAlg and MillAlgTest
1 parent 79dd490 commit eff8226

File tree

2 files changed

+51
-6
lines changed

2 files changed

+51
-6
lines changed

modules/core/src/main/scala/org/scalasteward/core/buildtool/mill/MillAlg.scala

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ final class MillAlg[F[_]](defaultResolvers: List[Resolver])(implicit
3939
workspaceAlg.buildRootDir(buildRoot).flatMap(findBuildFile).map(_.nonEmpty)
4040

4141
private def findBuildFile(buildRootDir: File): F[Option[File]] =
42-
List("build.sc", "build.mill", "build.mill.scala")
42+
List("build.mill", "build.mill.scala", "build.sc")
4343
.map(buildRootDir / _)
4444
.findM(fileAlg.isRegularFile)
4545

@@ -95,16 +95,17 @@ final class MillAlg[F[_]](defaultResolvers: List[Resolver])(implicit
9595
List(
9696
buildRootDir / s".$millVersionName",
9797
buildRootDir / ".config" / millVersionName
98-
).collectFirstSomeM(fileAlg.readFile).map(_.flatMap(parser.parseMillVersion))
98+
).collectFirstSomeM(fileAlg.readFile(_).map(_.flatMap(parser.parseMillVersion)))
9999
val fromBuildFile = List(
100100
buildRootDir / "build.mill",
101101
buildRootDir / "build.mill.scala",
102102
buildRootDir / "build.sc"
103-
)
104-
.collectFirstSomeM(fileAlg.readFile)
105-
.map(_.flatMap(parser.parseBuildFileMillVersion))
103+
).collectFirstSomeM(fileAlg.readFile(_).map(_.flatMap(parser.parseBuildFileMillVersion)))
106104

107-
fromBuildFile.orElse(fromConfigFile)
105+
fromBuildFile.flatMap {
106+
case None => fromConfigFile
107+
case some => F.pure(some)
108+
}
108109
}
109110

110111
private def getMillPluginDeps(

modules/core/src/test/scala/org/scalasteward/core/buildtool/mill/MillAlgTest.scala

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ class MillAlgTest extends FunSuite {
2222
val state = millAlg.getDependencies(buildRoot).runS(initial).unsafeRunSync()
2323
val expected = initial.copy(
2424
trace = Vector(
25+
Cmd("read", s"$buildRootDir/build.mill"),
26+
Cmd("read", s"$buildRootDir/build.mill.scala"),
27+
Cmd("read", s"$buildRootDir/build.sc"),
2528
Cmd("read", s"$buildRootDir/.mill-version"),
2629
Cmd("read", s"$buildRootDir/.config/mill-version"),
2730
Cmd("write", predef),
@@ -53,8 +56,13 @@ class MillAlgTest extends FunSuite {
5356
val state = millAlg.getDependencies(buildRoot).runS(initial).unsafeRunSync()
5457
val expected = initial.copy(
5558
trace = Vector(
59+
Cmd("read", s"$buildRootDir/build.mill"),
60+
Cmd("read", s"$buildRootDir/build.mill.scala"),
61+
Cmd("read", s"$buildRootDir/build.sc"),
5662
Cmd("read", s"$buildRootDir/.mill-version"),
5763
millCmd,
64+
Cmd("test", "-f", s"$buildRootDir/build.mill"),
65+
Cmd("test", "-f", s"$buildRootDir/build.mill.scala"),
5866
Cmd("test", "-f", s"$buildRootDir/build.sc"),
5967
Cmd("read", s"$buildRootDir/build.sc")
6068
)
@@ -84,15 +92,51 @@ class MillAlgTest extends FunSuite {
8492
val state = millAlg.getDependencies(buildRoot).runS(initial).unsafeRunSync()
8593
val expected = initial.copy(
8694
trace = Vector(
95+
Cmd("read", s"$buildRootDir/build.mill"),
96+
Cmd("read", s"$buildRootDir/build.mill.scala"),
97+
Cmd("read", s"$buildRootDir/build.sc"),
8798
Cmd("read", s"$buildRootDir/.mill-version"),
8899
millCmd,
100+
Cmd("test", "-f", s"$buildRootDir/build.mill"),
101+
Cmd("test", "-f", s"$buildRootDir/build.mill.scala"),
89102
Cmd("test", "-f", s"$buildRootDir/build.sc"),
90103
Cmd("read", s"$buildRootDir/build.sc")
91104
)
92105
)
93106
assertEquals(state, expected)
94107
}
95108

109+
test("getDependencies, 1 <= version") {
110+
val repo = Repo("mill-alg", "test-3")
111+
val buildRoot = BuildRoot(repo, ".")
112+
val buildRootDir = workspaceAlg.buildRootDir(buildRoot).unsafeRunSync()
113+
val millCmd = Cmd.execSandboxed(
114+
buildRootDir,
115+
"mill",
116+
"--no-server",
117+
"--ticker",
118+
"false",
119+
"--import",
120+
s"ivy:org.scala-steward::${BuildInfo.millPluginArtifactName}::${BuildInfo.millPluginVersion}",
121+
"show",
122+
extractDeps
123+
)
124+
val initial = MockState.empty
125+
.copy(commandOutputs = Map(millCmd -> Right(List("""{"modules":[]}"""))))
126+
.addFiles(buildRootDir / "build.mill" -> "//| mill-version: 1.0.6")
127+
.unsafeRunSync()
128+
val state = millAlg.getDependencies(buildRoot).runS(initial).unsafeRunSync()
129+
val expected = initial.copy(
130+
trace = Vector(
131+
Cmd("read", s"$buildRootDir/build.mill"),
132+
millCmd,
133+
Cmd("test", "-f", s"$buildRootDir/build.mill"),
134+
Cmd("read", s"$buildRootDir/build.mill")
135+
)
136+
)
137+
assertEquals(state, expected)
138+
}
139+
96140
test("predef-content") {
97141
assert(MillAlg.content(None).contains("_mill$MILL_BIN_PLATFORM"))
98142
assert(MillAlg.content(Some(Version("0.6.1"))).contains("_mill0.6"))

0 commit comments

Comments
 (0)