2011-01-12 15 views
5

Ciężko mi się dostać wtyczkę maven-release do pracy z naszym repozytorium CVS. Mam nadzieję, że brakuje mi czegoś oczywistego, czy nie używam już CVS/pserver i Maven2/3?Jak używać CVS z wtyczką maven-release?

Pierwszym problemem jest URL SCM:

Dostawca Maven CVS stwierdza, że ​​prawidłowy adres URL SCM wygląda następująco:

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

Więc staram

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

który powinien być prawidłowym adresem URL cvs scm. W przypadku wtyczki wydania ustawię nazwę użytkownika w lokalnym pliku settings.xml bezpośrednio w konfiguracji wtyczek zapasowych. Wtyczka uwolnienie działa ok z tym, ale to prowadzi do błędu budowaniu witryny 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) 

To wydaje się być trzylatek błąd w pluginie scm: http://jira.codehaus.org/browse/SCM-350

Dodanie zmiennej nazwę użytkownika zaspokoić wtyczkę strony również nie działa, ponieważ spowodowałoby to kolejny (4-letni) błąd w wtyczce maven-release: http://jira.codehaus.org/browse/MRELEASE-128

Jeśli używam stałej nazwy użytkownika, mogę ją jakoś uruchomić, ale to jest niezbyt zadowalający.

Drugi problem to płaskie struktury projektowe, wtyczka maven release wydaje się być niezdolna do pracy z CVS, wydaje się, że są pewne poprawki dla SVN, ale te zmiany całkowicie zrywają płaskie struktury cvs (główny moduł pom obok modułów projektu)

Największe pytanie brzmi, czy ktoś inny używa wtyczki maven-release z cvs? Jaka jest twoja konfiguracja? Jak radzisz sobie z tymi problemami? Czy w ogóle używasz płaskich struktur projektowych (które są o wiele wygodniejsze w użyciu w czasie zaćmienia ...)?

Odpowiedz

1

musisz umieścić w adresie URL nieużywaną nazwę użytkownika i działa ona prawidłowo. inną opcją jest umieszczenie konfiguracji cvs w adresie URL programisty, może wtedy zadziała.

0

Używam wtyczki wydania z CVS.

Oto moje wersje:

  • cvs 12.01.13-MirDebian-9
  • Apache Maven 2.2.1 (rdebian-8)
  • wersja Java: 1.7.0_25

Oto mój element SCM:

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

I nazywam b oth release:prepare i release:perform z -Dusername=username:

mvn release:perform -Dusername=username

+0

To nie działa na mnie –