【问题标题】:Disable aggregate for sbt custom task为 sbt 自定义任务禁用聚合
【发布时间】:2012-12-28 16:25:02
【问题描述】:

如何禁用单个自定义任务的聚合?

我尝试将以下内容添加到我的build.sbt

aggregate in myTaskName:= false

但它并没有像我预期的那样工作 - 我遇到了这个错误:

~\build.sbt:1: error: not found: value myTaskName
aggregate in myTaskName:= false 

【问题讨论】:

  • myTaskName 定义在哪里?
  • @MarkHarrah 实际上在自定义插件中,但我试图在项目中定义它并得到同样的错误
  • build.sbt 文件是 Scala 代码。它确实会自动导入一些东西,但标识符必须在范围内。因此,如果您有org.example.MyClass.myTaskName,则需要导入或完全限定myTaskName

标签: scala sbt


【解决方案1】:

工作示例(sbt 0.13.5):

val hello = TaskKey[Unit]("hello", "Prints 'Hello Zhu'")

val helloTask = hello := {
  println("Hello Zhu")
}

aggregate in hello := false

请注意,使用的是 TaskKey - 而不是 Setting[Task] 本身。值得额外注意的是,应该可以从您的 build.sbt 访问此密钥,并且正如 @Mark Harrah 所提到的,hello 必须是完全限定的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 2016-03-21
    • 2018-10-29
    • 2014-06-03
    • 1970-01-01
    相关资源
    最近更新 更多