Плющ: использование динамических ревизий
у меня возникли проблемы с пониманием, как я использую динамические ревизииплющ эффективно в моих проектах Java.
В настоящее время у меня есть следующий макет:
lib-a
revision: 1.0.0
status: release
dependencies: none
lib-b
revision: 2.0.0
status: release
dependencies: lib-a, rev 1.0.0
project-a
revision: 3.0.0
status: release
dependencies: lib-b, rev 2.0.0
project-b
revision: 4.0.0
status: release
dependencies: lib-b, rev 2.0.0
Это означает, что я всегда сохраняю статусrelease
и использовать явные номера версий. Если бы я изменилlib-a
скажем, во время разработкиlib-a
Это довольно больно.
Я сохраняю изменения вlib-a
обновите ревизию в файле плюща до1.0.1
для незначительного изменения. Затем мне нужно обновить зависимости lib-b, чтобы объявить о ревизии 1.0.1 lib-a. Теперь я могу обновить версиюlib-b
а такжеproject-a
так какproject-a
это исполняемый файл и содержит интеграционные тесты, которые мне нужно запустить.
Второй способ - переиздатьlib-b
с обновленными зависимостями, но той же версией. Обычно это работает с ant в командной строке, но не для NetBeans сплющ-бобы плагин. Они все еще используют кэшированную версию файла плющаlib-b.
Поэтому мне нужно очистить локальный кеш, чтобы он заработал.
Я использую общийbuild-ivy.xml
Ant скрипт, который есть в нашем репозитории SVN для всех проектов. Каждый проект имеетbuild.xml
в проектекорень, который в большинстве случаев просто включает в себяbuild-ivy.xml
, Иногда необходимые задачи добавляются или перезаписываются. Я'мы только что прочиталиВот а такжеВот что решение может использовать динамические изменения. Насколько я понимаю, я бы установил ревизию во всех файлах плюща вintegration-latest
и установите статус во всех файлах плюща вintegration
, Тогда Айви всегда будет автоматически разрешать последнюю версию. Но на что я бы установил ревизию своих модулей? Опустить это полностью? Как бы я создать версию выпуска? Нужно ли мне изменить все файлы плюща и установить статусrelease
или я бы выполнил задачу доставки до публикации модуля с перезаписью статуса наrelease
если возможно?