diff --git a/sbt/src/sbt-test/project/binary-plugin/changes/define/A.scala b/sbt/src/sbt-test/project/binary-plugin/changes/define/A.scala new file mode 100644 index 000000000..5e4a3930e --- /dev/null +++ b/sbt/src/sbt-test/project/binary-plugin/changes/define/A.scala @@ -0,0 +1,23 @@ +import sbt._ +import Keys._ + + +object C extends AutoImport { + lazy val aN = Nature("A") + lazy val bN = Nature("B") + lazy val check = taskKey[Unit]("Checks that the AutoPlugin and Build are automatically added.") +} + + import C._ + +object A extends AutoPlugin { + override def provides = aN + override def select = bN + override def projectSettings = Seq( + check := {} + ) +} + +object B extends Build { + lazy val extra = project.addNatures(bN) +} diff --git a/sbt/src/sbt-test/project/binary-plugin/changes/define/build.sbt b/sbt/src/sbt-test/project/binary-plugin/changes/define/build.sbt new file mode 100644 index 000000000..f8a8d32b8 --- /dev/null +++ b/sbt/src/sbt-test/project/binary-plugin/changes/define/build.sbt @@ -0,0 +1,3 @@ +sbtPlugin := true + +name := "demo-plugin" diff --git a/sbt/src/sbt-test/project/binary-plugin/changes/use/plugins.sbt b/sbt/src/sbt-test/project/binary-plugin/changes/use/plugins.sbt new file mode 100644 index 000000000..b20bc97c3 --- /dev/null +++ b/sbt/src/sbt-test/project/binary-plugin/changes/use/plugins.sbt @@ -0,0 +1 @@ +addSbtPlugin("org.example" % "demo-plugin" % "3.4") diff --git a/sbt/src/sbt-test/project/binary-plugin/common.sbt b/sbt/src/sbt-test/project/binary-plugin/common.sbt new file mode 100644 index 000000000..0cf61c76c --- /dev/null +++ b/sbt/src/sbt-test/project/binary-plugin/common.sbt @@ -0,0 +1,7 @@ +organization in ThisBuild := "org.example" + +version in ThisBuild := "3.4" + +lazy val define = project + +lazy val use = project diff --git a/sbt/src/sbt-test/project/binary-plugin/test b/sbt/src/sbt-test/project/binary-plugin/test new file mode 100644 index 000000000..ceb4e6a76 --- /dev/null +++ b/sbt/src/sbt-test/project/binary-plugin/test @@ -0,0 +1,10 @@ +$ copy-file changes/define/build.sbt build.sbt +$ copy-file changes/define/A.scala A.scala + +# reload implied +> publishLocal + +$ delete build.sbt A.scala +$ copy-file changes/use/plugins.sbt project/plugins.sbt +> reload +> extra/check