Подтвердить что ты не робот

Gradle: как клонировать репозиторий git в задаче?

Предположим, что у меня есть gradle build script и вы хотите написать задачу для клонирования удаленного репозитория git. Как это сделать?

4b9b3361

Ответ 1

Клонирование можно выполнить с помощью плагина 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
}

Ответ 2

С более новыми версиями gradle-git (0.7.0 и выше) вы должны создать задачу следующим образом:

import org.ajoberstar.grgit.*

task clone << {
  Grgit.clone(dir: file('build/repo'), uri: '[email protected]:user/repo.git')
}

Ответ 3

Здесь есть Git plugin - docs: Gradle-git. Плагин имеет метод клонирования: GitClone

Возможно, что-то похожее:

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

Ответ 4

Вышеупомянутый плагин Gradle - git, похоже, перешел от предоставления простой функции "клонировать эту репо для этой директории", поэтому я написал простую задачу, которая выполняет только это:

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

Ответ 5

В плагине Gradle-git есть задача GitClone это должно помочь. Я не могу помочь вам в том, как использовать его, поскольку я не знаю Gradle.