我有一个Gradle项目,它被分成了子模块。每次需要使用最新源代码构建项目时执行
git submodule update --init
不是很方便,因此我想知道是否已知道创建一个Gradle任务来执行此操作的方法?也许有现有的插件?Unix和Windows兼容性都很好。
回答后更新
正如@VonC所说,ajoberstar/gradle-git可以完成此工作。
以下是我最终配置的内容:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.ajoberstar:gradle-git:1.6.0'
}
}
apply plugin: 'org.ajoberstar.grgit'
task submodulesUpdate(type:Exec) {
description 'Updates (and inits) git submodules'
commandLine 'git', 'submodule', 'update', '--init', '--recursive'
group 'Build Setup'
}
task build
build.dependsOn submodulesUpdate
// ...