Как получить текущую ветвь git в gradle?

Я пишу задачу для развертывания моего приложения на сервере. Тем не менее, я хотел бы, чтобы эта задача выполнялась только в том случае, если текущая ветвь git является главной ветвью. Как получить текущую ветвь git?

gradle-git подход:

Я знаю, что существует gradle - git плагин, у которого есть метод getWorkingBranch() под задачей GitBranchList, но в любое время я пытаюсь выполнить

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

Я получаю ошибку "Задача еще не выполнена". Я посмотрел на источник , и он выдает эту ошибку, когда нет набора ветвей. Означает ли это, что этот метод не делает то, что я думаю, что он делает? Что мне нужно установить ветвь где-нибудь?

Ответ 1

Нет, это не означает, что ветвь не установлена. Это означает, что задача еще не выполнена. То, что вы пытаетесь сделать, - это вызов метода в закрытии конфигурации, тогда как вы, вероятно, захотите его вызвать после выполнения задачи. Попробуйте изменить задачу:

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

С помощью << вы добавляете doLast, который будет выполнен после выполнения задачи.