这个gradle片段是否有更紧凑的方法:

A.dependsOn X
B.dependsOn X
C.dependsOn X
D.mustRunAfter X
E.mustRunAfter X
F.mustRunAfter X

我正在寻找一些简短,甜美和聪明的东西,例如:
[A,B,C].dependsOn X
[A,B,C].dependsOn [X,Y]
[D,E,F].mustRunAfter X

(不起作用)

最佳答案

以下代码可以完成这项工作:

['A'..'F', 'X', 'Y']
  .flatten()
  .each { n ->
    task "$n" {
      doLast {
        println "$n"
      }
    }
  }

[A, B, C]*.dependsOn X, Y
[D, E, F]*.mustRunAfter X

它使用groovy的spread operator

10-08 18:38