如何列出所有配置及其说明?

时间:2014-07-30 19:35:05

标签: sbt

我使用sbt 0.13.5。

从sbt控制台,如何看到项目中所有已定义配置的列表(例如CompileTest等)及其描述?

2 个答案:

答案 0 :(得分:4)

我不知道是否有内置命令。除非有一个,否则你可以创建一个任务:

<强> build.sbt

lazy val showConfigurations = taskKey[Unit]("Shows all configurations")

lazy val inAnyProjectAndConfiguration = ScopeFilter(inAnyProject, inAnyConfiguration)

showConfigurations := {
  val configs = configuration.all(inAnyProjectAndConfiguration).value.toSet
  configs.filter(_.isPublic).foreach(c => println(s"${c.name} ${c.description}"))
}

您可能看不到某些配置的说明,因为它不是强制性的。事实上,似乎没有一个默认拥有它。

答案 1 :(得分:0)

一个更简单的版本,可以正常工作:

// Add below snippet to your build.sbt
lazy val printConfig = taskKey[Unit]("Print config")
printConfig := {
  val conf = ConfigFactory.load()
  println(conf)
}

然后在您的sbt控制台中运行printConfig