无法使用gradle war插件运行git submodule init

时间:2014-01-27 18:50:17

标签: java ant gradle

我的build.gradle看起来像是:

apply plugin: 'war'

war {

   ...

}

我使用gradle war

构建

在配置阶段,我想运行git submodule update --init --recursive

所以我将build.gradle更改为:

apply plugin: 'war'

task configured(type: Exec) {
  commandLine "git submodule update --init --recursive"
}


war {

   ...

}

当我gradle war时:

失败:构建因异常而失败。

  • 出了什么问题: 无法确定任务':war'的依赖关系。

我没有看到我的子模块正在更新。有什么问题?

编辑:

我在settings.gradle中添加以下行

exec {
  commandLine "git", "submodule", "update", "--init", "--recursive"
}

我删除了从build.gradle配置的任务。

你认为这是一个很好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

  

在配置阶段,我想运行git submodule update --init --recursive

您当前的构建是在执行阶段执行此操作。为什么要在配置阶段执行此操作?请注意,这会降低每次Gradle调用的速度。

  

我没有看到我的子模块正在更新。有什么问题?

仅运行命令行中指定的任务及其任务依赖性。如果您未在命令行中指定configured,也不让(例如)war依赖它,则不会运行它。

  

出了什么问题:无法确定任务':war'的依赖关系。

显然,您的构建脚本的其余部分(您未显示)存在一些问题。也许你试图做一些像war.dependsOn(configured)这样的事情,并没有把它做得很好。