SbtTwirl에 정의 된 twirlSettings
의 값을 읽으려고합니다.Seq [설정 [_]]에서 설정 값을 검사하는 방법?
할 방법이 있습니까? 아마도 sbt inspect
을 사용하고 있을까요? 아니면 다른 방법이 있습니까? 내 Twirl 템플릿이 컴파일되지 않는 이유를 알아 내려고하면서 값을 읽어야합니다.
SbtTwirl에 정의 된 twirlSettings
의 값을 읽으려고합니다.Seq [설정 [_]]에서 설정 값을 검사하는 방법?
할 방법이 있습니까? 아마도 sbt inspect
을 사용하고 있을까요? 아니면 다른 방법이 있습니까? 내 Twirl 템플릿이 컴파일되지 않는 이유를 알아 내려고하면서 값을 읽어야합니다.
twirlSettings
은 그렇듯이 sbt inspect
이 될 수있는 열쇠가 아닙니다. Seq[Setting[_]]
입니다. 그러나 제작 한 개별 설정을 검사 할 수 있습니다. 예를 들어 :
> inspect compile:compileTemplates::sourceDirectories
는 line 40에 의해 생성되는 것을 검사 :
sourceDirectories in compileTemplates := Seq(sourceDirectory.value/"twirl"),
다른 대답은 미세하지만 consoleProject
또는 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
SbtTwirl
에 대한 액세스를 갖는 당신은 당신이 원하는 어느 것 무엇이든 할, 그러나 당신이 그렇게 쉽게되지 않을 수도 있습니다 consoleProject
에서 생활하기 때문에 추측에주의 할 수있다 스칼라를 사용하여 손가락 끝에 build.sbt
- .value
매크로가 있습니다. 당신은 스칼라 세계에 있습니다.
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
'show compile : compileTemplates :: sourceDirectories' 콘텐츠를 표시하려면 – EECOLOR