Maven: SCM и многомодульные проекты - PullRequest
5 голосов
/ 07 декабря 2011

У меня большой проект с несколькими модулями, и я хочу указать информацию SCM для Maven. Но каждый из модулей и родительский проект имеют отдельную папку в SVN, поэтому кажется, что информация SCM специфична для каждого модуля.

Какое значение мне нужно использовать для элементов connection и developerConnection? Нужно ли настраивать SCM для каждого модуля или его можно настроить один раз в родительском проекте?

Спасибо

1 Ответ

5 голосов
/ 28 апреля 2012

Я тестировал два сценария:

  • Определение конфигурации только на уровне родительского модуля;

  • Определение конфигурации как на уровне родительского модуля, так и на уровне субмодуля.

Если вы попробуете mvn -DdryRun=true release:prepare в своем родительском проекте pom, вы получите файл release.properties, в котором показано, какую конфигурацию выпуска использовал бы maven, если бы он фактически выполнил задачу подготовки.

Оттуда вы можете видеть, что при тестировании первого сценария maven не будет отмечать дочерние модули. Вы увидите только одну project.scm.[groupId]\:[artifactId].url собственность. Тестируя второй сценарий, с настройкой scm, выполненной также на уровне подмодуля, вы получите одно свойство для каждого подмодуля.

Мой вывод заключается в том, что для плоской многомодульной структуры проекта вы должны определить scm как на уровне parent-pom, так и на уровне модуля, каждый из которых указывает на каталог scm, где расположен этот pom.

...