From 3fa4c813be0a410598074eb466427613f8e9bd66 Mon Sep 17 00:00:00 2001 From: Eric Meisel Date: Fri, 24 Jul 2020 20:29:56 -0500 Subject: [PATCH 1/4] Respect Configuration for compile in scalafixConfigSettings --- src/main/scala/scalafix/sbt/ScalafixPlugin.scala | 6 +++--- src/sbt-test/sbt-scalafix/scalafixOnCompile/build.sbt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/scala/scalafix/sbt/ScalafixPlugin.scala b/src/main/scala/scalafix/sbt/ScalafixPlugin.scala index 3391864e..a6c31562 100644 --- a/src/main/scala/scalafix/sbt/ScalafixPlugin.scala +++ b/src/main/scala/scalafix/sbt/ScalafixPlugin.scala @@ -97,10 +97,10 @@ object ScalafixPlugin extends AutoPlugin { def scalafixConfigSettings(config: Configuration): Seq[Def.Setting[_]] = Seq( scalafix := scalafixInputTask(config).evaluated, - compile := Def.taskDyn { + (compile in config) := Def.taskDyn { val oldCompile = - compile.value // evaluated first, before the potential scalafix evaluation - if (scalafixOnCompile.value) + (compile in config).value // evaluated first, before the potential scalafix evaluation + if ((scalafixOnCompile in config).value) scalafix .toTask("") .map(_ => oldCompile) diff --git a/src/sbt-test/sbt-scalafix/scalafixOnCompile/build.sbt b/src/sbt-test/sbt-scalafix/scalafixOnCompile/build.sbt index 83ea22a8..e635521a 100644 --- a/src/sbt-test/sbt-scalafix/scalafixOnCompile/build.sbt +++ b/src/sbt-test/sbt-scalafix/scalafixOnCompile/build.sbt @@ -18,6 +18,6 @@ lazy val rewrite = project .configs(IntegrationTest) .settings( Defaults.itSettings, - inConfig(IntegrationTest)(scalafixConfigSettings(IntegrationTest)), addCompilerPlugin(scalafixSemanticdb) ) + .settings(scalafixConfigSettings(IntegrationTest): _*) From 96a08ce235d123a97ea46d25a0be776d8da4184d Mon Sep 17 00:00:00 2001 From: Eric Meisel Date: Fri, 24 Jul 2020 20:45:33 -0500 Subject: [PATCH 2/4] update other tests --- src/sbt-test/sbt-scalafix/basic/build.sbt | 2 +- src/sbt-test/sbt-scalafix/cross-build/build.sbt | 3 ++- src/sbt-test/sbt-scalafix/inconfig/build.sbt | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/sbt-test/sbt-scalafix/basic/build.sbt b/src/sbt-test/sbt-scalafix/basic/build.sbt index 1ad856c0..309f9070 100644 --- a/src/sbt-test/sbt-scalafix/basic/build.sbt +++ b/src/sbt-test/sbt-scalafix/basic/build.sbt @@ -20,13 +20,13 @@ inThisBuild( lazy val example = project .settings( Defaults.itSettings, - inConfig(IntegrationTest)(scalafixConfigSettings(IntegrationTest)), addCompilerPlugin(scalafixSemanticdb), scalacOptions ++= List( "-Yrangepos", "-Ywarn-unused-import" ) ) + .settings(scalafixConfigSettings(IntegrationTest): _*) lazy val tests = project diff --git a/src/sbt-test/sbt-scalafix/cross-build/build.sbt b/src/sbt-test/sbt-scalafix/cross-build/build.sbt index eb200467..30d33283 100644 --- a/src/sbt-test/sbt-scalafix/cross-build/build.sbt +++ b/src/sbt-test/sbt-scalafix/cross-build/build.sbt @@ -32,7 +32,6 @@ lazy val scala212 = project .configs(IntegrationTest) .settings( Defaults.itSettings, - inConfig(IntegrationTest)(scalafixConfigSettings(IntegrationTest)), unmanagedSources.in(Compile, scalafix) := unmanagedSources .in(Compile) @@ -41,6 +40,8 @@ lazy val scala212 = project scalaVersion := Versions.scala212, scalafixSettings ) + .settings(scalafixConfigSettings(IntegrationTest): _*) + lazy val javaProject = project.settings( scalaVersion := Versions.scala212, scalafixSettings diff --git a/src/sbt-test/sbt-scalafix/inconfig/build.sbt b/src/sbt-test/sbt-scalafix/inconfig/build.sbt index e9f08c7f..e0da29ad 100644 --- a/src/sbt-test/sbt-scalafix/inconfig/build.sbt +++ b/src/sbt-test/sbt-scalafix/inconfig/build.sbt @@ -17,9 +17,9 @@ inThisBuild( lazy val example = project .settings( Defaults.itSettings, - inConfig(IntegrationTest)(scalafixConfigSettings(IntegrationTest)), addCompilerPlugin(scalafixSemanticdb), scalacOptions += "-Yrangepos" ) + .settings(scalafixConfigSettings(IntegrationTest): _*) lazy val tests = project From 92d8e44b765eb24726fe6d4f8306d2ffb7589f44 Mon Sep 17 00:00:00 2001 From: Eric Meisel Date: Fri, 24 Jul 2020 21:26:41 -0500 Subject: [PATCH 3/4] Fix setup --- src/main/scala/scalafix/sbt/ScalafixPlugin.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/scala/scalafix/sbt/ScalafixPlugin.scala b/src/main/scala/scalafix/sbt/ScalafixPlugin.scala index a6c31562..7075afdb 100644 --- a/src/main/scala/scalafix/sbt/ScalafixPlugin.scala +++ b/src/main/scala/scalafix/sbt/ScalafixPlugin.scala @@ -96,12 +96,12 @@ object ScalafixPlugin extends AutoPlugin { def scalafixConfigSettings(config: Configuration): Seq[Def.Setting[_]] = Seq( - scalafix := scalafixInputTask(config).evaluated, + (scalafix in config) := scalafixInputTask(config).evaluated, (compile in config) := Def.taskDyn { val oldCompile = (compile in config).value // evaluated first, before the potential scalafix evaluation - if ((scalafixOnCompile in config).value) - scalafix + if (scalafixOnCompile.value) + (scalafix in config) .toTask("") .map(_ => oldCompile) else Def.task(oldCompile) From ddb45b5e0feb9082fb042d57fbeba66bdc4db7a3 Mon Sep 17 00:00:00 2001 From: Eric Meisel Date: Sat, 25 Jul 2020 19:59:02 -0500 Subject: [PATCH 4/4] PR Comment --- .../scala/scalafix/sbt/ScalafixPlugin.scala | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/src/main/scala/scalafix/sbt/ScalafixPlugin.scala b/src/main/scala/scalafix/sbt/ScalafixPlugin.scala index 7075afdb..79fea29f 100644 --- a/src/main/scala/scalafix/sbt/ScalafixPlugin.scala +++ b/src/main/scala/scalafix/sbt/ScalafixPlugin.scala @@ -95,25 +95,26 @@ object ScalafixPlugin extends AutoPlugin { "org.scalameta" % "semanticdb-scalac" % scalametaVersion cross CrossVersion.full def scalafixConfigSettings(config: Configuration): Seq[Def.Setting[_]] = - Seq( - (scalafix in config) := scalafixInputTask(config).evaluated, - (compile in config) := Def.taskDyn { - val oldCompile = - (compile in config).value // evaluated first, before the potential scalafix evaluation - if (scalafixOnCompile.value) - (scalafix in config) - .toTask("") - .map(_ => oldCompile) - else Def.task(oldCompile) - }.value, - // In some cases (I haven't been able to understand when/why, but this also happens for bgRunMain while - // fgRunMain is fine), there is no specific streams attached to InputTasks, so we they end up sharing the - // global streams, causing issues for cache storage. This does not happen for Tasks, so we define a dummy one - // to acquire a distinct streams instance for each InputTask. - scalafixDummyTask := (()), - streams.in(scalafix) := streams.in(scalafixDummyTask).value + inConfig(config)( + Seq( + scalafix := scalafixInputTask(config).evaluated, + compile := Def.taskDyn { + val oldCompile = + compile.value // evaluated first, before the potential scalafix evaluation + if (scalafixOnCompile.value) + scalafix + .toTask("") + .map(_ => oldCompile) + else Def.task(oldCompile) + }.value, + // In some cases (I haven't been able to understand when/why, but this also happens for bgRunMain while + // fgRunMain is fine), there is no specific streams attached to InputTasks, so we they end up sharing the + // global streams, causing issues for cache storage. This does not happen for Tasks, so we define a dummy one + // to acquire a distinct streams instance for each InputTask. + scalafixDummyTask := (()), + streams.in(scalafix) := streams.in(scalafixDummyTask).value + ) ) - @deprecated("This setting is no longer used", "0.6.0") val scalafixSourceroot: SettingKey[File] = settingKey[File]("Unused")