Я просто изучаю Gradle, исходя из обоих флагов Ant + Ivy и Maven, и я пытаюсь обернуть голову подходящим способом публикации версии моего программного обеспечения с помощью gradle. Мне также необходимо постоянно интегрировать мои проекты, не постоянно выпуская независимые артефакты.
Ant + Ivy
В мире Ant + Ivy я могу создавать объекты publishSnapshot и publishRelease. Они могут использовать разные распознаватели Ivy для разрешения и публикации в моем отдельном снимке или релизе репозиториев в Nexus.
Maven
С Maven я могу определить snapshotRepository
или repository
в моем разделе distributionManagement
, чтобы maven публиковал мой отдельный снимок или релиз репозиториев в Nexus.
Gradle
Теперь введите gradle. Как я могу достичь такой же функциональности? Я использую репозитории стиля плюща.
Спасибо за любые идеи, которые вы можете предоставить.
ANSWER
Спасибо René ниже, я наконец смог создать работоспособное решение. Суть дела состояла в том, что мне нужно было постоянно интегрироваться во все мои проекты. Для этого я подумал, что объявление зависимости, использующей номер версии latest.integration
, было единственным способом получить последнюю версию моих библиотек, и поэтому мне нужно было использовать репозитории стиля плюща.
На самом деле есть другие способы использовать последнюю версию библиотек для непрерывной интеграции моего программного обеспечения во все проекты. Решение состоит в том, чтобы использовать uploadArchives
точно так же, как указано в списке René (также обратите внимание, что вам нужно будет apply plugin: 'maven'
), чтобы это работало. Убедитесь, что ваши репозитории также являются maven-стилем, а при объявлении зависимости вы можете использовать динамическую версию цифры, как показано здесь. В моем случае я перечислил глобальный номер версии в моем общем .gradle и в нисходящих проектах, я использовал version: version
для ссылки на глобальную переменную версии Таким образом, каждый артефакт в моей системе имеет одну и ту же версию. Когда придет время для выпуска, я могу изменить это значение с 1.0-SNAPSHOT на 1.0 и построить каждый по порядку.