Reputation: 5694
I want to pull changes from git repo before compilation begins. I found this Gradle: how to clone a git repo in a task?, but it clones the repo instead of fetching just the changes. This could be time consuming if the git server is not on the local network or if the repo is large.
I could not find how to do git pull
using gradle or the gradle-git plugin.
Upvotes: 10
Views: 10342
Reputation: 22232
You can create Exec
task and run any shell/cmd command. No extra plugin dependency required for simple tasks.
task gitPull(type: Exec) {
description 'Pulls git.'
commandLine "git", "pull"
}
Usage: gradlew gitPull
You should see smth like this:
gradlew gitPull
Parallel execution is an incubating feature.
:app:gitPull
Already up-to-date.
BUILD SUCCESSFUL
Total time: 9.232 secs
Where Already up-to-date.
is the output from git pull
command.
Upvotes: 11
Reputation: 84864
The following gradle script should be helpful:
import org.ajoberstar.grgit.*
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.ajoberstar:gradle-git:1.1.0'
}
}
task pull << {
def grgit = Grgit.open(dir: project.file('.'))
grgit.pull(rebase: false)
}
Upvotes: 7