From 42b9ee2107324fcf7d6ca5387103ee695f978ab4 Mon Sep 17 00:00:00 2001 From: Albert Meltzer Date: Sun, 14 Nov 2021 11:43:14 -0800 Subject: [PATCH] Use Def.sequential for formatting sbt sources --- .../org/scalafmt/sbt/ScalafmtPlugin.scala | 56 ++++++++----------- 1 file changed, 23 insertions(+), 33 deletions(-) diff --git a/plugin/src/main/scala/org/scalafmt/sbt/ScalafmtPlugin.scala b/plugin/src/main/scala/org/scalafmt/sbt/ScalafmtPlugin.scala index cce74ed..faafbca 100644 --- a/plugin/src/main/scala/org/scalafmt/sbt/ScalafmtPlugin.scala +++ b/plugin/src/main/scala/org/scalafmt/sbt/ScalafmtPlugin.scala @@ -364,19 +364,11 @@ object ScalafmtPlugin extends AutoPlugin { ) } tag (ScalafmtTagPack: _*) - private def scalafmtSbtTask = + private def scalafmtSbtTask(sources: Seq[File], config: Path) = Def.task { formatSources( - sbtSources.value.toSet, - sbtConfig.value, - streams.value.log, - outputStreamWriter(streams.value), - fullResolvers.value, - scalafmtDetailedError.value - ) - formatSources( - metabuildSources.value.toSet, - scalaConfig.value, + sources.toSet, + config, streams.value.log, outputStreamWriter(streams.value), fullResolvers.value, @@ -398,28 +390,17 @@ object ScalafmtPlugin extends AutoPlugin { throwOnFailure(analysis) } tag (ScalafmtTagPack: _*) - private def scalafmtSbtCheckTask = + private def scalafmtSbtCheckTask(sources: Seq[File], config: Path) = Def.task { - throwOnFailure( - checkSources( - sbtSources.value, - sbtConfig.value, - streams.value.log, - outputStreamWriter(streams.value), - fullResolvers.value, - scalafmtDetailedError.value - ) - ) - throwOnFailure( - checkSources( - metabuildSources.value, - scalaConfig.value, - streams.value.log, - outputStreamWriter(streams.value), - fullResolvers.value, - scalafmtDetailedError.value - ) + val analysis = checkSources( + sources, + config, + streams.value.log, + outputStreamWriter(streams.value), + fullResolvers.value, + scalafmtDetailedError.value ) + throwOnFailure(analysis) } tag (ScalafmtTagPack: _*) private def getScalafmtSourcesTask( @@ -428,12 +409,21 @@ object ScalafmtPlugin extends AutoPlugin { (unmanagedSources in scalafmt).?.value.map(f).getOrElse(Def.task(Unit)) } + private def getScalafmtSbtTasks( + f: (Seq[File], Path) => Def.Initialize[Task[Unit]] + ) = Def.taskDyn[Unit] { + Def.sequential( + f(sbtSources.value, sbtConfig.value), + f(metabuildSources.value, scalaConfig.value) + ) + } + lazy val scalafmtConfigSettings: Seq[Def.Setting[_]] = Seq( scalafmt := getScalafmtSourcesTask(scalafmtTask).value, scalafmtIncremental := scalafmt.value, - scalafmtSbt := scalafmtSbtTask.value, + scalafmtSbt := getScalafmtSbtTasks(scalafmtSbtTask).value, scalafmtCheck := getScalafmtSourcesTask(scalafmtCheckTask).value, - scalafmtSbtCheck := scalafmtSbtCheckTask.value, + scalafmtSbtCheck := getScalafmtSbtTasks(scalafmtSbtCheckTask).value, scalafmtDoFormatOnCompile := Def.settingDyn { if (scalafmtOnCompile.value) { (scalafmt in resolvedScoped.value.scope)