1

SbtTwirltwirlSettingsで定義された値を読み取ろうとしています。

それを行う方法はありますか?おそらく使用していsbt inspectますか?それとも他に方法はありますか?Twirl テンプレートがコンパイルされない理由を調べようとしているので、値を読み取る必要があります。

4

2 に答える 2

4

twirlSettings、そのため、できるキーではありませんsbt inspect。ですSeq[Setting[_]]。ただし、生成される個々の設定を調べることはできます。例えば:

> inspect compile:compileTemplates::sourceDirectories

40行目で生成されたものを調べるには:

sourceDirectories in compileTemplates := Seq(sourceDirectory.value / "twirl"),
于 2014-10-14T11:49:30.903 に答える
0

consoleProject他の答えは問題ありませんが、 orを使用したもう少し複雑なアプローチがありevalます。

の次のセッションを参照してくださいconsoleProject

[root]> help consoleProject
Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports.

[root]> consoleProject
[info] Starting scala interpreter...
[info]
import sbt._
import Keys._
import _root_.com.typesafe.sbteclipse.plugin.EclipsePlugin._
import _root_.gilt.DependencyGraph._
import _root_.net.virtualvoid.sbt.graph.Plugin._
import _root_.com.typesafe.sbt.SbtGit._
import _root_.com.github.tototoshi.sbt.musical.Plugin._
import _root_.com.timushev.sbt.updates.UpdatesPlugin._
import _root_.play.twirl.sbt.SbtTwirl.autoImport._
import _root_.sbt.plugins.IvyPlugin
import _root_.sbt.plugins.JvmPlugin
import _root_.sbt.plugins.CorePlugin
import _root_.sbt.plugins.JUnitXmlReportPlugin
import _root_.play.twirl.sbt.SbtTwirl
import currentState._
import extracted._
import cpHelpers._
Welcome to Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_25).
Type in expressions to have them evaluated.
Type :help for more information.

scala> SbtTwirl
res0: play.twirl.sbt.SbtTwirl.type = play.twirl.sbt.SbtTwirl

ScalaにアクセスしSbtTwirlて使用すると、やりたいことは何でもできますが、指先でマクロを使用するconsoleProjectことはできないbuild.sbtため、推測には注意してください。.valueしかし、あなたは Scala の世界にいます。

scala> SbtTwirl.twirlSettings.foreach { s => println(s) }
setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),includeFilter)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,38)
setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),excludeFilter)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,39)
setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),sourceDirectories)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,40)
setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),sources)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,42)
setting(ScopedKey(Scope(This,Global,This,This),watchSources)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,48)
setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),target)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,50)
setting(ScopedKey(Scope(This,This,This,This),twirlCompileTemplates)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,52)
setting(ScopedKey(Scope(This,This,This,This),sourceGenerators)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,54)
setting(ScopedKey(Scope(This,This,This,This),managedSourceDirectories)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,55)

を使うevalのも有効かもしれません。

[root]> help eval
eval <expression>

    Evaluates the given Scala expression and prints the result and type.

[root]> eval SbtTwirl.twirlSettings
[info] ans: Seq[sbt.Setting[_]] = List(setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),includeFilter)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,38), setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),excludeFilter)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,39), setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),sourceDirectories)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,40), setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),sources)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,42), setting(ScopedKey(Scope(This,Global,This,This),watchSources)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,48), setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),target)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,50), setting(ScopedKey(Scope(This,This,This,This),twirlCompileTemplates)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,52), setting(ScopedKey(Scope(This,This,This,This),sourceGenerators)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,54), setting(ScopedKey(Scope(This,This,This,This),managedSourceDirectories)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,55))

[root]> eval SbtTwirl.twirlSettings.foreach { e => println(e) }
setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),includeFilter)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,38)
setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),excludeFilter)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,39)
setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),sourceDirectories)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,40)
setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),sources)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,42)
setting(ScopedKey(Scope(This,Global,This,This),watchSources)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,48)
setting(ScopedKey(Scope(This,This,Select(twirlCompileTemplates),This),target)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,50)
setting(ScopedKey(Scope(This,This,This,This),twirlCompileTemplates)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,52)
setting(ScopedKey(Scope(This,This,This,This),sourceGenerators)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,54)
setting(ScopedKey(Scope(This,This,This,This),managedSourceDirectories)) at LinePosition((play.twirl.sbt.SbtTwirl) SbtTwirl.scala,55)
[info] ans: Unit = null
于 2015-01-07T12:16:39.507 に答える