From 71545af5bf1892953843ee9bcd8bb9ddede1e15d Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Mon, 27 Mar 2023 19:46:56 +0000 Subject: [PATCH] Try to workaround https://github.com/sbt/sbt/issues/7173 --- sbt-plugin/src/main/scala/clue/sbt/CluePlugin.scala | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sbt-plugin/src/main/scala/clue/sbt/CluePlugin.scala b/sbt-plugin/src/main/scala/clue/sbt/CluePlugin.scala index 01f03bc7..5209eed8 100644 --- a/sbt-plugin/src/main/scala/clue/sbt/CluePlugin.scala +++ b/sbt-plugin/src/main/scala/clue/sbt/CluePlugin.scala @@ -13,17 +13,20 @@ import ScalafixPlugin.autoImport._ object CluePlugin extends AutoPlugin { object autoImport { - lazy val clueSourceDirectory = settingKey[File]("Clue input schemas and sources") + lazy val clueSourceDirectory = settingKey[File]("Clue input schemas and sources") + lazy val clueSourceGenerators = settingKey[Seq[Task[Seq[File]]]]("Clue source generators") } import autoImport._ override def buildSettings: Seq[Setting[_]] = Seq( scalafixScalaBinaryVersion := "2.13", - scalafixDependencies += BuildInfo.organization %% BuildInfo.rulesModule % BuildInfo.version + scalafixDependencies += BuildInfo.organization %% BuildInfo.rulesModule % BuildInfo.version, + Compile / clueSourceGenerators := Seq.empty ) override def projectSettings: Seq[Setting[_]] = Seq( - Compile / clueSourceDirectory := sourceDirectory.value / "clue", + Compile / clueSourceDirectory := sourceDirectory.value / "clue", + Compile / sourceGenerators ++= (Compile / clueSourceGenerators).value, // workaround for sbt/sbt#7173 libraryDependencies += BuildInfo.organization %%% BuildInfo.coreModule % BuildInfo.version ) @@ -42,7 +45,7 @@ object CluePlugin extends AutoPlugin { (LocalProject(proj.id) / Compile / dependencyClasspath).value, // register generator - LocalProject(proj.id) / Compile / sourceGenerators += Def.taskDyn { + LocalProject(proj.id) / Compile / clueSourceGenerators += Def.taskDyn { val root = (LocalRootProject / baseDirectory).value.toPath val from = (Compile / clueSourceDirectory).value val to = (LocalProject(proj.id) / Compile / sourceManaged).value