sbt

时间:2018-01-01 19:44:00

标签: sbt

val gitHeadCommitSha = taskKey[String]("Determines the current git commit SHA") 
gitHeadCommitSha := Process("git rev-parse HEAD").lines.head 

在上面的代码中,我假设=创建了一个密钥(我认为它类似于声明一个变量而:=声明了一个设置。所以SBT允许声明一个密钥和一个设置同名?或gitHeadCommitSha是一项任务?

1 个答案:

答案 0 :(得分:0)

gitHeadCommitShaTaskKey[String]类型的值,而gitHeadCommitSha := Process("git rev-parse HEAD").lines.head是类型Setting[Task[String]]的值。

= vs :=而言,=是用于定义绑定的scala原语,而:=TaskKey上的方法(以及其他键)定义一个设置(通常不分配给变量)。

那么代码所做的是定义一个名为“gitHeadCommitSha”的任务键,然后设置该键的值。