Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I get the current git branch in gradle?

Tags:

I'm writing a task to deploy my application to the server. However, I'd like for this task to run only if my current git branch is the master branch. How can I get the current git branch?

gradle-git approach:

I know there is a gradle-git plugin that has a method getWorkingBranch() under the task GitBranchList, but anytime I try to execute

task getBranchName(type: GitBranchList) {    print getWorkingBranch().name } 

I get a "Task has not executed yet" error. I looked at the source and it throws that error when there is no branch set. Does that mean this method doesn't do quite what I think it does? That I need to set the branch somewhere?

like image 898
neptune Avatar asked Feb 25 '13 06:02

neptune


People also ask

What is git gradle?

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. What is Gradle? A powerful build system for the JVM. Gradle is a build tool with a focus on build automation and support for multi-language development.


2 Answers

You also are able to get git branch name without the plug-in.

def gitBranch() {     def branch = ""     def proc = "git rev-parse --abbrev-ref HEAD".execute()     proc.in.eachLine { line -> branch = line }     proc.err.eachLine { line -> println line }     proc.waitFor()     branch } 

Refer to: Gradle & GIT : How to map your branch to a deployment profile

like image 141
Song Bi Avatar answered Sep 16 '22 13:09

Song Bi


No this doesn't mean that the branch is not set. It means that the task hasn't really executed yet. What you're trying to do is calling a method in the configuration closure, whereas you probably want to call it after task execution. Try to change your task to:

task getBranchName(type: GitBranchList) << {     print getWorkingBranch().name } 

With the << you're adding a doLast, which will be executed after the task has been executed.

like image 26
Hiery Nomus Avatar answered Sep 20 '22 13:09

Hiery Nomus