scala - storeAs ...triggeredBy 如何在 simple-build-tool 中工作?

标签 scala sbt

有使用 storeAs 的 SBT TaskKeys和triggeredBy例程。

共有 3 个部分:

A storeAs BC触发

我怀疑它就像

商店findManifestPathmanifestPackageNamemanifestPath任务完成

但是为什么我们不能写 manifestPackageName <<= findManifestPath

一些样本

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

最佳答案

storeAs 此时实际上仅用作内部 API,但它会保留评估任务的结果,以便稍后检索。例如,上面的示例被解析器用于制表符补全。您无法在解析期间评估任务,因此这是采用的方法。

triggeredBy 是一种安排命令运行的方法,即使它不依赖于任何东西。它主要是为了在另一个任务运行时执行副作用。在 defineTestNames 的情况下,这可确保每当 test:compile 运行时名称都会保留。

关于scala - storeAs ...triggeredBy 如何在 simple-build-tool 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11975424/

相关文章:

java - 在scala中声明类级别变量

sbt - sbt 库依赖顺序依赖吗?

scala - Spark数据帧将整数转换为时间戳并找到日期差异

algorithm - 计算给定 z 的 z3 = x2y2 的整数解的数量

scala 使用的是随二进制分发版一起提供的 akka 而不是 sbt 的

java - 在 SBT 中,可以自动命名私有(private)包吗?

scala - 如何使用 sbtosgi 生成 osgi 包作为 sbt 发布任务的一部分

macos - spark 提交 java.lang.ClassNotFoundException

java - 协调 thrift 中继承的缺失与 Java/Scala 中的方法定义

Scalac 无法推断归纳构建的路径相关类型