Управление версиями подпроекта Gradle

В настоящее время мы переносим наш проект с maven на gradle. Наша установка выглядит следующим образом:

  • Родительский проект
    • Подпроект 1
    • Подпроект 2 (компиляция зависит от 1)
    • Подпроект 3 (компиляция зависит от 2 и 1)

Все эти Maven-подпроекты имеют независимую версию

В Maven мы используем плагин версии, который гарантирует, что мы устанавливаем (используя плагин) версию, например, подпроекта 1, новая версия распространяется на все поддерево (и соответствующие зависимости в 2 и 3 также изменяются).

Я искал документы о том, что плагин Gradle Release не смог найти упоминания об этой функции. Это поддерживает это, или есть какой-нибудь другой плагин, который делает?

Второй вопрос, так как мы находимся в процессе миграции maven-gradle, возможно ли каким-либо образом объединить плагин maven version с любым таким плагином gradle? (Имейте 1 версию в maven, 2 и 3 в gradle и все еще достигайте поведения). Я предполагаю, что нет, но просто спрашиваю, не нашел ли кто-то какое-то решение:-), поэтому нам не нужно делать maven -> gradle в один большой взрыв.

Заранее спасибо!

1 ответ

Решение

Я хотел бы сохранить свою версию в отдельном текстовом файле

root/build.gradle

def versionTxt = file('version.txt').text.trim()
allprojects {
    version = versionTxt
}

Затем вы можете просто настроить version.txt, чтобы увеличить версию... это разделение отлично, например, вы можете сделать историю файлов на version.txt и увидеть изменения версии, изолированные от изменений Gradle.

Пример одного проекта здесь

Другие вопросы по тегам