Merge pull request #4728 from eed3si9n/wip/collectfiles

Reproduce Twirl regression
This commit is contained in:
eugene yokota 2019-05-26 00:33:36 -04:00 committed by GitHub
commit 707972e190
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 50 additions and 8 deletions

View File

@ -1242,15 +1242,12 @@ object Defaults extends BuildCommon {
}
def collectFiles(
dirs: ScopedTaskable[Seq[File]],
include: ScopedTaskable[FileFilter],
exclude: ScopedTaskable[FileFilter]
): Initialize[Task[Seq[File]]] = Def.task {
val filter = include.toTask.value -- exclude.toTask.value
val view = fileTreeView.value
view.list(dirs.toTask.value.map(f => Globs(f.toPath, recursive = true, filter))).collect {
case (p, a) if !a.isDirectory => p.toFile
filter: ScopedTaskable[FileFilter],
excludes: ScopedTaskable[FileFilter]
): Initialize[Task[Seq[File]]] =
Def.task {
dirs.toTask.value.descendantsExcept(filter.toTask.value, excludes.toTask.value).get
}
}
def artifactPathSetting(art: SettingKey[Artifact]): Initialize[File] =
Def.setting {
val f = artifactName.value

View File

@ -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")))
}
)

View File

@ -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
)
}

View File

@ -0,0 +1,3 @@
@import play.routes.compiler._
@import play.routes.compiler.templates._
@import InjectedRoutesGenerator.Dependency

View File

@ -0,0 +1 @@
> check