Мультимодульное управление релизами проекта Maven - PullRequest
2 голосов
/ 29 декабря 2011

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

 - enterprise-pom

 - commons

 - core
   - domain
   - dao
   - search
   - importer-batch-app
   - processor-batch-app

 - systems
   - server-system
   - client-system

ядро ​​зависит от Enterprise-Pom и общего.

Я только что работал над выпуском 3.0.0 ядра,делать:

Release 3.0.0 of enterprise-pom
Release 3.0.0 of commons
Release 3.0.0 of core

Все это на 3.0.1-SNAPSHOT, и в SVN создан тег для 3.0.0.

Мы не хотели выпускать системы.Так что все еще на 3.0.0-SNAPSHOT.

Вопрос:

Должен ли я вручную просто изменить system pom на 3.0.1-SNAPSHOT, не отпуская его (так как он вообще не будет использоваться)?

Система зависит от ядра.и зависимость все еще находится в 3.0.0-SNAPSHOT, в настоящее время.К чему это обновление?

1 Ответ

1 голос
/ 29 декабря 2011

Как часто и бывает, ответ: это зависит.

Номер версии системы:

Если вы когда-нибудь планируете выпустить все вместе, вам, вероятно, следует изменить номер версии, поскольку все в одном процессе выпуска должно иметь одинаковую версию (не обязательно, но каким-то образом по умолчанию).

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

Зависимость системы:

если ваши разработчики открывают все сразу в своей IDE, вы должны вручную настроить зависимость на 3.0.1-SNAPSHOT, чтобы не перепутать их. Если они открывают подпроект по подпроекту, вы должны изменить зависимость на выпущенную версию 3.0.0 и обработать ее так же, как любую другую стороннюю библиотеку.

Если по существу все имеют одинаковый цикл выпуска, но пока вы не хотите делать системные артефакты общедоступными, вы также можете отключить развертывание этих артефактов:

        <plugin>
            <artifactId>maven-deploy-plugin</artifactId>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>

и просто отпусти все вместе

...