From 012d7bb451e94e17c520c73dc1653403bfb00d22 Mon Sep 17 00:00:00 2001
From: Arman Bilge
Date: Tue, 11 Apr 2023 20:25:55 +0000
Subject: [PATCH] Register clue clean task with workaround
---
sbt-plugin/src/main/scala/clue/sbt/CluePlugin.scala | 13 ++++++++-----
sbt-plugin/src/sbt-test/clue-plugin/starwars/test | 1 +
2 files changed, 9 insertions(+), 5 deletions(-)
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