Scala 商店如何。。。使用简单构建工具触发?

Scala 商店如何。。。使用简单构建工具触发?,scala,sbt,Scala,Sbt,SBT任务键使用storeAs和triggeredBy例程 共有3个部分: A存储由C触发 我怀疑这就像 当manifestPath任务完成时,将findManifestPath存储到manifestPackageName 但是为什么我们不能编写manifestPackageNamestoreAs此时实际上只是作为一个内部API,但它会保留评估任务的结果,以便以后可以检索。例如,上面的示例由解析器用于完成制表符。您无法在解析过程中评估任务,因此采用了这种方法 triggeredBy是一种安排命令

SBT任务键使用
storeAs
triggeredBy
例程

共有3个部分:

A存储由C触发

我怀疑这就像

manifestPath
任务完成时,将
findManifestPath
存储到
manifestPackageName


但是为什么我们不能编写
manifestPackageName
storeAs
此时实际上只是作为一个内部API,但它会保留评估任务的结果,以便以后可以检索。例如,上面的示例由解析器用于完成制表符。您无法在解析过程中评估任务,因此采用了这种方法

triggeredBy
是一种安排命令运行的方法,即使它不是任何依赖项。它主要用于在另一个任务运行时执行副作用。在
definedTestNames
的情况下,这确保了每当运行
test:compile
时,名称都被持久化

manifestPackageName <<= findManifestPath storeAs manifestPackageName triggeredBy manifestPath
multiJvmTestNames <<= multiJvmTests map { _.keys.toSeq } storeAs multiJvmTestNames triggeredBy compile
discoveredMainClasses <<= compile map discoverMainClasses storeAs discoveredMainClasses triggeredBy compile
definedTestNames <<= definedTests map ( _.map(_.name).distinct) storeAs definedTestNames triggeredBy compile