1

Это мой build.gradle:Gradle эквивалент Maven-версий-плагин

group 'whatever' 
version '1.0.0-SNAPSHOT' 

... 

dependencies { 
    compile 'whatever:2.2.1-SNAPSHOT' 
} 

Я хочу, чтобы автоматизировать процесс разъединени, который включает в себя необходимость установить обе версии для конкретных значений, например, 1.1.0 или 2.2.0 используя только командную строку. Любой тип автоинкремента не является вариантом.

С Maven, я хотел бы сделать это с помощью maven-versions-plugin:

mvn versions:set -DnewVersion=${WHATEVER_NEW_VERSION} 

Как я могу сделать то же самое с Gradle? Я нашел только this вопрос без ответа. Должен быть какой-то простой способ сделать это?

ответ

0

Я в конечном итоге извлечения номера версий gradle.properties и их обновления в рамках автоматизированного сценария сборки с использованием СЭД:

sed -i -e \"/someVersionNumber=/ s/=.*/=${SOME_NEW_VERSION_NUMBER}/\" gradle.properties 

Это то, что я хочу. Хотя для меня, исходя из фона Maven, это не кажется естественным. Я могу позже изучить другую альтернативу.

0

Хотя не связанные с издательской, один способ передать свойства командной строки выглядит следующим образом:

gradle -PWHATEVER_NEW_VERSION=2.0.0 

Рассмотрим следующий build.gradle фрагмент:

def newVersion = project."WHATEVER_NEW_VERSION" 
println newVersion 

См ~/utils/gradle/version.gradle в this project другого подхода. Он использует отдельные переменные среды для основных, второстепенных и инкрементных версий, а затем автоматически создает строку. Поскольку он находится в каталоге gradle, его можно просто импортировать в build.gradle, который скрывает некоторые шаблоны.