diff --git a/sbt-plugin/src/main/scala/clue/sbt/CluePlugin.scala b/sbt-plugin/src/main/scala/clue/sbt/CluePlugin.scala index 5209eed8..b990fbea 100644 --- a/sbt-plugin/src/main/scala/clue/sbt/CluePlugin.scala +++ b/sbt-plugin/src/main/scala/clue/sbt/CluePlugin.scala @@ -15,19 +15,23 @@ object CluePlugin extends AutoPlugin { object autoImport { lazy val clueSourceDirectory = settingKey[File]("Clue input schemas and sources") lazy val clueSourceGenerators = settingKey[Seq[Task[Seq[File]]]]("Clue source generators") + lazy val clueClean = taskKey[Unit]("Clue clean task") } import autoImport._ override def buildSettings: Seq[Setting[_]] = Seq( scalafixScalaBinaryVersion := "2.13", scalafixDependencies += BuildInfo.organization %% BuildInfo.rulesModule % BuildInfo.version, - Compile / clueSourceGenerators := Seq.empty + Compile / clueSourceGenerators := Seq.empty, + clueClean := {} ) override def projectSettings: Seq[Setting[_]] = Seq( Compile / clueSourceDirectory := sourceDirectory.value / "clue", Compile / sourceGenerators ++= (Compile / clueSourceGenerators).value, // workaround for sbt/sbt#7173 - libraryDependencies += BuildInfo.organization %%% BuildInfo.coreModule % BuildInfo.version + libraryDependencies += BuildInfo.organization %%% BuildInfo.coreModule % BuildInfo.version, + // another workaround + clean := clean.dependsOn(clueClean).value ) override def derivedProjects(proj: ProjectDefinition[_]): Seq[Project] = Seq( @@ -61,9 +65,8 @@ object CluePlugin extends AutoPlugin { }.taskValue, // register clean - LocalProject(proj.id) / clean := { - val _ = clean.value - (LocalProject(proj.id) / clean).value + LocalProject(proj.id) / clueClean := { + clean.value }, // scalafix stuff diff --git a/sbt-plugin/src/sbt-test/clue-plugin/starwars/test b/sbt-plugin/src/sbt-test/clue-plugin/starwars/test index 4907e2ac..6194aa3c 100644 --- a/sbt-plugin/src/sbt-test/clue-plugin/starwars/test +++ b/sbt-plugin/src/sbt-test/clue-plugin/starwars/test @@ -1,3 +1,4 @@ > app/compile > app/clean $ absent app-clue/target/scala-2.13 +> app/compile