我想使用sbt以遵循已定义的依赖关系图的顺序在多个目录中执行自定义shell脚本(作为更大版本的一部分)。例如,给定目录A,B,C和D以及A之后的依赖关系B,B之后的C,B之后的B以下是正确的:
A,B,C,D
A,B,D,C
以下是不正确的:
B,A,C,D
A,C,B,D等。
我创建了自定义键和自定义任务。
val script = taskKey[String]("script")
script := println("script")
并定义了4个项目:
lazy val a = Project(id = "a", base = file("A"))
lazy val b = Project(id = "b", base = file("B")).dependsOn(a)
lazy val c = Project(id = "c", base = file("C")).dependsOn(b)
lazy val d = Project(id = "d", base = file("D")).dependsOn(b)
我正在尝试在SBT控制台中运行“脚本”任务,它会生成一个不遵守上述依赖关系的随机执行顺序。
dependsOn是指通用依赖项还是某些Java / Scope /无论具体依赖性是什么? 是否有解决方案,如果是,那么它是什么?