mirror of https://github.com/sbt/sbt.git
Merge pull request #4728 from eed3si9n/wip/collectfiles
Reproduce Twirl regression
This commit is contained in:
commit
707972e190
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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")))
|
||||
}
|
||||
)
|
||||
|
|
@ -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
|
||||
)
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
@import play.routes.compiler._
|
||||
@import play.routes.compiler.templates._
|
||||
@import InjectedRoutesGenerator.Dependency
|
||||
|
|
@ -0,0 +1 @@
|
|||
> check
|
||||
Loading…
Reference in New Issue