Skip to content

Commit 810b445

Browse files
committed
Use Stream for readRepos
1 parent ff8eeed commit 810b445

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

modules/core/src/main/scala/org/scalasteward/core/application/StewardAlg.scala

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,15 @@ final class StewardAlg[F[_]](implicit
5959
logger.info(msg)
6060
}
6161

62-
private def readRepos(reposFile: File): F[List[Repo]] =
63-
fileAlg.readFile(reposFile).map { maybeContent =>
64-
val regex = """-\s+(.+)/([^/]+)""".r
65-
val content = maybeContent.getOrElse("")
66-
content.linesIterator.collect { case regex(owner, repo) =>
67-
Repo(owner.trim, repo.trim)
68-
}.toList
62+
private def readRepos(reposFile: File): Stream[F, Repo] =
63+
Stream.evals {
64+
fileAlg.readFile(reposFile).map { maybeContent =>
65+
val regex = """-\s+(.+)/([^/]+)""".r
66+
val content = maybeContent.getOrElse("")
67+
content.linesIterator.collect { case regex(owner, repo) =>
68+
Repo(owner.trim, repo.trim)
69+
}.toList
70+
}
6971
}
7072

7173
private def steward(repo: Repo): F[Either[Throwable, Unit]] = {
@@ -90,12 +92,13 @@ final class StewardAlg[F[_]](implicit
9092
for {
9193
_ <- printBanner
9294
_ <- selfCheckAlg.checkAll
95+
_ <- workspaceAlg.cleanWorkspace
9396
exitCode <- sbtAlg.addGlobalPlugins {
94-
for {
95-
_ <- workspaceAlg.cleanWorkspace
96-
repos <- readRepos(config.reposFile)
97-
result <- Stream.emits(repos).evalMap(steward).compile.foldMonoid
98-
} yield result.fold(_ => ExitCode.Error, _ => ExitCode.Success)
97+
readRepos(config.reposFile)
98+
.evalMap(steward)
99+
.compile
100+
.foldMonoid
101+
.map(_.fold(_ => ExitCode.Error, _ => ExitCode.Success))
99102
}
100103
} yield exitCode
101104
}

0 commit comments

Comments
 (0)