【问题标题】:Adding task dependencies in .sbt file在 .sbt 文件中添加任务依赖项
【发布时间】:2012-04-18 20:59:13
【问题描述】:

在我的 build.sbt 文件中,我有两个自定义任务:

TaskKey[Unit]("aaa") := {
  println("aaa")
} 

TaskKey[Unit]("bbb") := {
  println("bbb")
}

如何在它们之间添加依赖关系?例如,我希望aaa 依赖于bbb

【问题讨论】:

    标签: scala build dependencies sbt


    【解决方案1】:

    来自https://github.com/harrah/xsbt/wiki/Tasks

    要依赖某些任务的副作用而不使用它们的值并且不做额外的工作,请对一系列任务使用dependOn。定义任务键(

    unitTask <<= Seq(stringTask, sampleTask).dependOn
    

    要向现有任务添加依赖项而不使用它们的值,请在任务上调用 dependsOn 并提供要依赖的任务。比如这里的第二个任务定义修改了原来的要求 string-task 和 sample-task 先运行:

    intTask := 4
    
    intTask <<= intTask.dependsOn(stringTask, sampleTask)
    

    【讨论】:

    【解决方案2】:
    val aaa = TaskKey[Unit]("aaa", "First")
    val bbb = TaskKey[Unit]("bbb", "Second")
    
    bbb := { println("bbb") }
    aaa := bbb map { _ => println("aaa") }
    

    【讨论】:

    • illegal start of simple expression val aaa = TaskKeyUnit
    • 我的意思是完整的构建定义而不是 .sbt 文件。
    猜你喜欢
    • 2011-11-12
    • 2019-11-19
    • 1970-01-01
    • 2013-09-06
    • 2020-01-20
    • 2013-11-01
    • 2013-03-15
    • 2020-11-01
    • 2014-02-26
    相关资源
    最近更新 更多