2014-10-14 5 views

답변

4

twirlSettings은 그렇듯이 sbt inspect이 될 수있는 열쇠가 아닙니다. Seq[Setting[_]]입니다. 그러나 제작 한 개별 설정을 검사 할 수 있습니다. 예를 들어 :

> inspect compile:compileTemplates::sourceDirectories 

line 40에 의해 생성되는 것을 검사 :

sourceDirectories in compileTemplates := Seq(sourceDirectory.value/"twirl"), 
+2

'show compile : compileTemplates :: sourceDirectories' 콘텐츠를 표시하려면 – EECOLOR

0

다른 대답은 미세하지만 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