consoleProject
任务启动 Scala 解释器,并访问您的项目定义和 sbt
。具体来说,解释器是在已执行以下命令的情况下启动的
import sbt._
import Keys._
import <your-project-definition>._
import currentState._
import extracted._
import cpHelpers._
例如,使用 sbt 的进程库(将在 Scala 2.9 的标准库中包含)运行外部进程
> "tar -zcvf project-src.tar.gz src" !
> "find project -name *.jar" !
> "cat build.sbt" #| "grep version" #> new File("sbt-version") !
> "grep -r null src" #|| "echo null-free" !
> uri("http://databinder.net/dispatch/About").toURL #> file("About.html") !
consoleProject
可用于创建和修改构建,就像通常使用 Scala 解释器来探索编写代码一样。请注意,这会让您获得对构建的原始访问权限。例如,考虑您传递给 IO.delete
的内容。
要获取特定设置,请使用以下格式
> val value = (<scope> / <key>).eval
> IO.delete( (Compile / classesDirectory).eval )
显示当前编译选项
> (Compile / scalacOptions).eval foreach println
显示另外配置的仓库。
> resolvers.eval foreach println
要评估任务(及其依赖项),请使用相同的格式
> val value = (<scope> / <key>).eval
显示所有仓库,包括默认仓库。
> fullResolvers.eval foreach println
显示用于编译和测试的类路径
> (Compile / fullClasspath).eval.files foreach println
> (Test / fullClasspath).eval.files foreach println
当前 构建状态 可作为 currentState
获取。currentState
的内容默认情况下会被导入,并且可以使用不带限定符的方式。
显示构建中要执行的剩余命令(如果您像这样调用 consoleProject
则更有意义:; consoleProject ; clean ; compile
)
> remainingCommands
显示当前注册的命令数量
> definedCommands.size