From 90af7a46c112c0f95e584c5a330b690b6e8f539c Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sat, 25 May 2019 11:59:21 -0400 Subject: [PATCH] Reproduce Twirl regression Ref #4681 --- sbt/src/sbt-test/plugins/twirl/build.sbt | 12 ++++++++ .../plugins/twirl/project/TwirlPlugin.scala | 29 +++++++++++++++++++ .../src/main/twirl/.hidden/fake.scala.twirl | 0 .../play/routes/forwardsRouter.scala.twirl | 3 ++ sbt/src/sbt-test/plugins/twirl/test | 1 + 5 files changed, 45 insertions(+) create mode 100644 sbt/src/sbt-test/plugins/twirl/build.sbt create mode 100644 sbt/src/sbt-test/plugins/twirl/project/TwirlPlugin.scala create mode 100644 sbt/src/sbt-test/plugins/twirl/src/main/twirl/.hidden/fake.scala.twirl create mode 100644 sbt/src/sbt-test/plugins/twirl/src/main/twirl/play/routes/forwardsRouter.scala.twirl create mode 100644 sbt/src/sbt-test/plugins/twirl/test diff --git a/sbt/src/sbt-test/plugins/twirl/build.sbt b/sbt/src/sbt-test/plugins/twirl/build.sbt new file mode 100644 index 000000000..bee7bb4cf --- /dev/null +++ b/sbt/src/sbt-test/plugins/twirl/build.sbt @@ -0,0 +1,12 @@ + +lazy val check = taskKey[Unit]("") + +lazy val root = (project in file(".")) + .enablePlugins(TwirlPlugin) + .settings( + check := { + val templates = (Compile / twirlCompileTemplates / sources).value + assert(templates.nonEmpty) + assert(!templates.exists(_.toString.contains("hidden"))) + } + ) diff --git a/sbt/src/sbt-test/plugins/twirl/project/TwirlPlugin.scala b/sbt/src/sbt-test/plugins/twirl/project/TwirlPlugin.scala new file mode 100644 index 000000000..5911cdfcc --- /dev/null +++ b/sbt/src/sbt-test/plugins/twirl/project/TwirlPlugin.scala @@ -0,0 +1,29 @@ +import sbt._ +import Keys._ + +object TwirlPlugin extends AutoPlugin { + override def requires = sbt.plugins.JvmPlugin + override def trigger = noTrigger + + object autoImport { + val twirlCompileTemplates = taskKey[Seq[File]]("Compile twirl templates into scala source files") + } + + override def projectSettings: Seq[Setting[_]] = + inConfig(Compile)(twirlSettings) ++ + inConfig(Test)(twirlSettings) + + import autoImport._ + + def twirlSettings: Seq[Setting[_]] = Seq( + twirlCompileTemplates / includeFilter := "*.scala.*", + twirlCompileTemplates / excludeFilter := HiddenFileFilter, + twirlCompileTemplates / sourceDirectories := Seq(sourceDirectory.value / "twirl"), + + twirlCompileTemplates / sources := Defaults.collectFiles( + twirlCompileTemplates / sourceDirectories, + twirlCompileTemplates / includeFilter, + twirlCompileTemplates / excludeFilter + ).value + ) +} diff --git a/sbt/src/sbt-test/plugins/twirl/src/main/twirl/.hidden/fake.scala.twirl b/sbt/src/sbt-test/plugins/twirl/src/main/twirl/.hidden/fake.scala.twirl new file mode 100644 index 000000000..e69de29bb diff --git a/sbt/src/sbt-test/plugins/twirl/src/main/twirl/play/routes/forwardsRouter.scala.twirl b/sbt/src/sbt-test/plugins/twirl/src/main/twirl/play/routes/forwardsRouter.scala.twirl new file mode 100644 index 000000000..8db5bd943 --- /dev/null +++ b/sbt/src/sbt-test/plugins/twirl/src/main/twirl/play/routes/forwardsRouter.scala.twirl @@ -0,0 +1,3 @@ +@import play.routes.compiler._ +@import play.routes.compiler.templates._ +@import InjectedRoutesGenerator.Dependency diff --git a/sbt/src/sbt-test/plugins/twirl/test b/sbt/src/sbt-test/plugins/twirl/test new file mode 100644 index 000000000..15675b169 --- /dev/null +++ b/sbt/src/sbt-test/plugins/twirl/test @@ -0,0 +1 @@ +> check