2016-12-28 5 views
1

Я пытаюсь сделать следующие шаги:Как написать Gradle построить CurrentVersion в файл

У меня есть build.gradle файл, настроенный для моего проекта. Я хочу выполнить задачу currentVersion для моего проекта, чтобы получить текущую версию, сгенерированную сборкой, а затем сохранить ее в текстовый файл. I wil l запустите эту сборку, используя jenkins, и используйте этот текстовый файл, чтобы получить номер версии, чтобы загрузить правильный артефакт из Replaceitory Nexus.

Я чувствую, либо из приведенных ниже способов может помочь мне достичь этого:

  1. Есть ли способ запустить только CurrentVersion задание для моего проекта через Jenkins и сохранить результат в текстовом файле?
  2. Есть ли способ запустить задачу currentVersion через мой скрипт сборки и записать вывод в текстовый файл?

ответ

1

Если вы хотите использовать вход задания/кэширование вывода вы могли бы сделать что-то вроде следующего в вашем build.gradle:

tasks.create('currentVersion') { 
    outputs.file('versionFile.txt') 
    inputs.property('version', project.version) 

    doLast { 
    project.file('versionFile.txt') << project.version 
    } 
} 

Затем вы можете запустить задачу как ./gradlew currentVersion и выход будет идти к файл, который вы хотите записать. В следующий раз, когда вы запустите задачу, файл будет обновляться только при изменении входов или выходов.

+0

Спасибо @mkobit. Это решение сработало. – IndrajitDatta

0

В Jenkins, я добавил Execute Shell. Внутри оболочки выполнения я могу запускать такие задачи градиента.

./gradlew currentVersion > bbc.txt 

Таким образом, я получил задание в файле.

+0

Это альтернативный вариант, если вы не хотите изменять файл build.gradle. – IndrajitDatta