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