1

非常类似于这个问题:Gradle Zip task to do multiple sub-trees? 我不相信这是完全回答的,只是被规避了..

我有一个带有子项目的项目,使用 gradle 1.6 构建,我需要将一些结果组装到多个路径中,但我也看到最后一条路径仍然存在。

task zip (type: Zip) {
  from ('src/resources') {
    into '/'
  }
  from ('web') {
    into '/'
  }


  from project('A').reference { into ('A') }
  from project('B').reference { into ('B') }
}

(本质上,引用任务会创建几个目录,它们在 A 和 B 中命名相同,因此需要在项目名称前面加上)..

显然,这些引用都以 zip 文件中的 /B/** 结尾。当我颠倒这两行的顺序时,它们最终会出现在 /A/** 中。另外两个正确进入/。如果我将子项目移到根资源之前,它们仍然会根据它们的顺序进入 /A 或 /B,但正常资源以 / 结尾,如假设的那样。

我基本上想动态包含子项目,即

project.subprojects.each {
  def pname = it.name
  from project(pname).reference {
    into "$pname"
  }
}

但到目前为止我所有的尝试都是徒劳的。

欢迎任何指点

4

1 回答 1

1

语法看起来不正确。应该是from(project('A').reference) { into ('A') }。(同样适用B。)这有什么不同吗?

PS:into "/"是多余的,可以省略。

于 2013-07-08T21:49:45.887 回答