Gradle: невозможно инициализировать переменные с помощью команд оболочки - PullRequest
0 голосов
/ 25 июня 2018

Я хочу инициализировать несколько переменных с помощью некоторых команд оболочки в моем build.gradle файле

def YEAR_MONTH_DAY=['date +%F'].execute().text.trim()
def BUILD_DATE=['date -u +%FT%T.%3NZ)'].execute().text.trim()
def IMAGE_NAME ='bca/cab-imaging'
def SHORT_VCS_REF=['git rev-parse --short HEAD'].execute().text.trim()
def VERSION=YEAR_MONTH_DAY+'-'+SHORT_VCS_REF

но я получаю

> Cannot run program "date +%F": error=2, No such file or directory

что я делаю не так? Как мне инициализировать мои переменные с помощью команд оболочки?

Я тоже пытался

def YEAR_MONTH_DAY= new ByteArrayOutputStream()
exec{
    commandLine "sh","date +%F"
    standardOutput = YEAR_MONTH_DAY;
}

но я получил

> Process 'command 'sh'' finished with non-zero exit value 127

1 Ответ

0 голосов
/ 26 июня 2018

вот как я это сделал

project.ext.IMAGE_NAME='bca/cab-imaging'
project.ext.BUILD_DATE= new Date().format("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
project.ext.YEAR_MONTH_DAY=new Date().format('yyyy-MM-dd')
project.ext.SHORT_VCS_REF=new ByteArrayOutputStream()
    exec{
        commandLine 'git','rev-parse', '--short', 'HEAD'
        standardOutput = SHORT_VCS_REF;
    }
project.ext.VERSION=project.YEAR_MONTH_DAY+"-"+"$SHORT_VCS_REF"

тогда я могу просто получить к ним доступ как project.VERSION и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...