组织名称的默认值来自于sbt

时间:2017-03-13 22:46:23

标签: scala sbt

sbt将organizationName设置定义为SettingKey[String](请参阅Keys)。在空目录中启动sbt构建时,可以检查默认值organizationName

> inspect organizationName
[info] Setting: java.lang.String = default
[info] Description:
[info]  Organization full/formal name.
[info] Provided by:
[info]  {file:/Users/bene/workspace/sbt/test/}test/*:organizationName
[info] Defined at:
[info]  (sbt.Classpaths) Defaults.scala:1174
[info] Dependencies:
[info]  *:organization
[info] Reverse dependencies:
[info]  *:projectInfo
[info] Delegates:
[info]  *:organizationName
[info]  {.}/*:organizationName
[info]  */*:organizationName

因此organizationName设置默认为"默认"。现在的问题是,默认值来自哪里?

1 个答案:

答案 0 :(得分:1)

尽管可能并不完全明显,但所有信息都已存在。 sbt输出给了我们第一个提示:

[info] Defined at:
[info]  (sbt.Classpaths) Defaults.scala:1174

我们可以在line 1174 in Default.scala中看到,organizationName会回归到organization的值。检查organization设置为我们提供了下一个提示:

> inspect organization
[info] Setting: java.lang.String = default
[info] Description:
[info]  Organization/group ID.
[info] Provided by:
[info]  {file:/Users/bene/workspace/sbt/test/}test/*:organization
[info] Defined at:
[info]  (sbt.Classpaths) Defaults.scala:1173
[info]  (sbt.Build) Build.scala:58
[info] Dependencies:
[info]  *:normalizedName
[info]  *:thisProject
[info] Reverse dependencies:
[info]  *:organizationName
[info]  *:projectId
[info] Delegates:
[info]  *:organization
[info]  {.}/*:organization
[info]  */*:organization

最后,在Build.scala:58中,我们可以找到从缺失的组织到"default"的映射。