Gradle:如何在任务中克隆git repo?

时间:2012-12-05 09:13:39

标签: git gradle

假设我有一个gradle构建脚本,并希望编写一个任务来克隆远程git存储库。我该怎么做?

5 个答案:

答案 0 :(得分:23)

可以使用Gradle-git plugin进行克隆。要使用该插件,您应该先下载它:

buildscript {
  repositories { mavenCentral() }
  dependencies { classpath 'org.ajoberstar:gradle-git:0.2.3' }
}

然后写一个像这样的任务:

import org.ajoberstar.gradle.git.tasks.*

task cloneGitRepo(type: GitClone) {
        def destination = file("destination_folder")
        uri = "your_git_repo_uri"
        destinationPath = destination
        bare = false
        enabled = !destination.exists() //to clone only once
}

答案 1 :(得分:16)

使用较新版本的gradle-git(0.7.0及更高版本),您可以创建如下任务:

import org.ajoberstar.grgit.*

task clone << {
  Grgit.clone(dir: file('build/repo'), uri: 'git@github.com:user/repo.git')
}

答案 2 :(得分:5)

有一个Git插件 - 文档:Gradle-git。该插件有一个克隆方法:GitClone

可能有以下几点:

GitClone clone = new GitClone();
clone.setUri("http://remote.repository/");
clone.setDestinationPath("//local/path");
clone.setBare(false);
clone.cloneRepo();

答案 3 :(得分:5)

前面提到的Gradle-git插件似乎已经从提供简单的“克隆此repo到该目录”功能转移,所以我写了一个简单的任务就是这样:

https://github.com/palominolabs/gradle-git-clone-task

答案 4 :(得分:4)

Gradle-git插件有GitClone task应该有帮助。我无法帮助你如何使用它,因为我不知道Gradle。