如何使用gradle将文件从父项目复制到子项目中

时间:2015-05-20 03:21:29

标签: java gradle

我正在尝试在gradle中的多个子项目之间共享公共静态文件。我的项目结构如下:

ParentProject
  + subProject1War/
  + subProject1War/
  + src/main/webapp/WEB-INF/
   + css/
     + subProject1/
     + subProject2/
     + common/

我不能为我的生活弄清楚如何将ParentProject的“common”和“subProject1”复制到subProject1War。

任何人都可以提供指导吗?

1 个答案:

答案 0 :(得分:0)

您可以在subProject1War/build.gradle中为其定义复制任务,然后使相关任务(可能是compileJava或processResources)依赖于它,以便在构建期间公共文件可用于这些任务。

如果您希望commonsubProject1下的所有文件都位于subProject1War/src/css下,那么您可以定义以下任务:

task copyCommon(type: Copy) {
  def cssLib = new File(rootDir, "src/css")
  from "$cssLib/common"
  from "$cssLib/subProject1"
  into "src/css"
}

如果您想将commonsubProject1文件夹保留在subProject1War/src/css下,那么您的任务将如下所示:

task copyCommon(type: Copy) {
  from new File(rootDir, "src/css")
  include "common/**"
  include "subProject1/**"
  into "src/css"
}