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