Передовой опыт :Управление версиями и выпуски в мультипроектах

Как лучше всего управлять версиями и выпусками в следующем случае с несколькими проектами?

Структура проекта

  • глобальный родитель
    • родительский проект (Версия :1.0 -SNAPSHOT)
      • дочерний проект 1 (такой же, как родительский)
      • дочерний проект 2 (такой же, как родительский)
      • дочерний проект 3 (такой же, как родительский)
      • дочерний проект 4 (такой же, как родительский)

Я хочу установить только один раз версию для родительского и всех дочерних проектов, потому что каждая часть проекта должна иметь одинаковую версию.

Также я хочу выпустить проект с continuum/maven.

Текущее «плохое» решение:

Обычно простым способом должно быть установить версию в родительском pom и сказать в каждом дочернем элементе «последняя версия от родителя», но это не работает с maven <3.1 (См. здесь )[http://jira.codehaus.org/browse/MNG-624] Теперь я устанавливаю в каждом дочернем проекте версию родительского проекта, и для каждого выпуска я должен изменить версию во всех дочерних и родительских.

Пример:

Родитель

<groupId>com.test</groupId>
<artifactId>com.test.buildDefinition</artifactId>
<version>1.0-SNAPSHOT</version>

Ребенок

<parent>
    <groupId>com.test</groupId>
    <artifactId>com.test.buildDefinition</artifactId>
    <version>1.0-SNAPSHOT</version>
</parent>

<groupId>com.test</groupId>
<artifactId>com.test.project</artifactId>
<version>${parent.version}</version>

Если я хочу выпустить свои проекты сейчас с помощью Continuum, я использую следующий порядок, чтобы выпустить его:

  1. Родительский проект
  2. Детский проект 1
  3. Детский проект 2

Но это не работает, потому что после изменения версии родителя у дочерних элементов больше нет версии SNAPSHOT в родительском, и я думаю, что должен быть лучший способ выпустить мультипроект с континуумом.

8
задан Rene Herget 20 August 2012 в 13:58
поделиться