Как использовать CVS с плагином maven-release-plugin? - PullRequest
5 голосов
/ 12 января 2011

Мне трудно заставить плагин maven-release-работать с нашим CVS-репозиторием.Надеюсь, я упускаю что-то очевидное, или больше никто не использует CVS / pserver и Maven2 / 3?

Первая проблема - URL-адрес scm:

Поставщик CVS maven утверждает, что действительная scmURL выглядит следующим образом:

scm:cvs<delimiter>pserver<delimiter>[username[<delimiter>password]@]servername[<delimiter>port]<delimiter>path_to_repository<delimiter>module_name

Итак, я пытаюсь

<scm>
    <connection>scm:cvs:pserver:cvssserver:/home/cvs/repository/projecta:ejbprojectA</connection>
</scm>

, который должен быть действительным URL-адресом cvs scm.Для релиз-плагина я установлю имя пользователя внутри локального settings.xml прямо в конфигурации соответствующих плагинов.Плагин релиза работает нормально с этим, но это приводит к ошибке при создании сайта maven:

[INFO] Username isn't defined.
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.IllegalArgumentException: Username isn't defined.
        at org.apache.maven.scm.provider.cvslib.repository.CvsScmProviderRepository.getCvsRootForCvsPass(CvsScmProviderRepository.java:113)

Это, похоже, трехлетняя ошибка в плагине scm: http://jira.codehaus.org/browse/SCM-350

Добавление переменной имени пользователя, чтобы удовлетворить плагин сайта, также не работает, так как это вызвало бы еще одну (4-летнюю) ошибку в maven-release-plugin: http://jira.codehaus.org/browse/MRELEASE-128

Если я использую фиксированное имя пользователя, то яможет заставить его работать как-то, но это не совсем удовлетворительно.

Вторая проблема - плоские структуры проекта, плагин релиза maven, кажется, не может работать с CVS на них, кажется, есть некоторые исправления для SVN,но эти изменения полностью разрушают плоские структуры cvs (основной модуль pom рядом с модулями проекта)

Итак, самый большой вопрос, кто-нибудь еще использует maven-release-plugin с cvs?Как ваши настройки?Как вы справляетесь с этими проблемами?Вы используете плоские проектные структуры вообще (которые намного удобнее использовать в затмении ...)?

Ответы [ 2 ]

1 голос
/ 12 января 2011

Вы должны поместить фиктивное имя пользователя в URL, и это будет работать.другой вариант - поместить конфигурацию cvs в URL разработчика, возможно, тогда она будет работать.

0 голосов
/ 08 июля 2014

Я использую плагин релиза с CVS.

Вот мои версии:

  • cvs 1.12.13-MirDebian-9
  • Apache Maven 2.2.1 (rdebian-8)
  • Java-версия: 1.7.0_25

Вот мой элемент scm:

  <scm>
            <connection>scm:cvs:ext:@cvshostname:/path/to/cvsroot/:projectname</connection>
  </scm>

И я звоню как release:prepare, так и release:perform с -Dusername=username:

mvn release:perform -Dusername=username

...