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
设置默认为"默认"。现在的问题是,默认值来自哪里?
答案 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"
的映射。