23

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

4

5 回答 5

24

可以使用Gradle-git 插件来完成克隆。要使用该插件,您应该先下载它:

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
}
于 2012-12-05T10:12:58.193 回答
18

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

import org.ajoberstar.grgit.*

task clone << {
  Grgit.clone(dir: file('build/repo'), uri: 'git@github.com:user/repo.git')
}
于 2014-06-13T00:19:44.997 回答
5

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

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

于 2014-04-05T16:37:50.743 回答
5

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

大概是这样的:

GitClone clone = new GitClone();
clone.setUri("http://remote.repository/");
clone.setDestinationPath("//local/path");
clone.setBare(false);
clone.cloneRepo();
于 2012-12-05T09:25:34.160 回答
4

Gradle-git插件有一个GitClone任务应该会有所帮助。由于我不了解 Gradle,因此我无法帮助您了解如何使用它。

于 2012-12-05T09:20:19.700 回答