SVN поддерживает Maven Repo - PullRequest
       4

SVN поддерживает Maven Repo

1 голос
/ 10 августа 2011

Мы используем SVN в качестве хранилища Maven. Мы знали, что не рекомендуется иметь SVN-репозиторий Maven, но все же мы должны идти с ним из-за ограничений в нашей организации. Используемый в настоящее время SVN-репозиторий частично реализован. У нас есть разработчики, работающие в двух разных географических регионах. Проблема, с которой мы сталкиваемся сейчас, заключается в том, что всякий раз, когда разработчик добавляет артефакт в репозиторий maven (репозиторий svn), все остальные разработчики должны вручную обновить локальное представление svn, чтобы получить вновь добавленный артефакт, прежде чем мы сделаем чистый пакет mvn.

Есть ли способ автоматической загрузки артефакта из репозитория svn maven в локальное хранилище, если артефакт не существует локально?

SVN размещается на веб-сервере, поэтому доступ к репозиторию maven осуществляется только по протоколу HTTPS. Мы используем версию Maven 2.2.

Я пытался использовать плагин wagon, который бы использовал вывод сборки (jar \ war) для scm напрямую. Мы не заинтересованы в развертывании результатов сборки. Нам нужно решение для автоматической загрузки артефактов из репозитория SVN Maven, если он не существует локально?

1 Ответ

2 голосов
/ 10 августа 2011

Вы не упоминаете, как ваш SVN-репозиторий предоставляет свои артефакты командам разработчиков.Если это действительно репозиторий Maven (соответствующий стандартному макету репозитория Maven), то вы можете просто указать его URL в разделе «репозитории» вашего POM.Обновление локального репо больше не нужно.

Я подозреваю, что то, что вы отметили в Subversion, не является макетом репозитория Maven?Вы потеряете одно из ключевых преимуществ использования Subversion, если каждая новая версия артефакта будет отмечена как новый файл ....

Вы описываете функциональность, предлагаемую любым менеджером репозитория Maven, дляпример: Nexus .Я понимаю ваше нежелание использовать новую технологию репозитория, но такие SCM-системы, как Subversion, в первую очередь предназначены для отслеживания изменений в текстовых файлах.

В заключение, если вы действительно хотите сохранить Subversion в цикле, я бы предложил один из двух вариантов:

  1. Используйте Subversion для управления содержимым локального репозитория.(Сторонние зависимости и артефакты, сгенерированные разработчиками)
  2. Используйте менеджер хранилища, такой как Nexus .Позвольте Nexus управлять кэшированным содержимым из внешних репозиториев, но фиксировать содержимое локально размещенных репозиториев в Subversion.
...