8

Moja firma rozpoczyna nowy projekt w przyszłym tygodniu. Zaplanowaliśmy opracowanie aplikacji z eclipse rcp. Proces kompilacji powinien być w pełni zautomatyzowany, dlatego jesteśmy gotowi stworzyć ciągłe środowisko integracyjne (np. Continuum). Dla części automatyzacji kompilacji zamierzałem użyć maven2, ponieważ chcę używać jej zarządzania zależnościami.Użyj maven2 do automatyzacji kompilacji i ciągłej integracji projektu eclipse rcp?

Użyłem maven2 dla małego projektu w starym stylu java, ale nigdy nie ustawiłem maven do używania go z eclipse rcp.

Jaki jest najlepszy sposób na zrobienie tego? Podstawowe koncepcje? Wspólne pułapki? Czy są tam jakieś tutoriale lub książki? Samouczki i informacje, które znalazłem, wydawały się przestarzałe lub niekompletne.

PS: Główny projekt zostanie podzielony na podprojekty (wtyczki). Ale myślę, że jest to typowe dla projektów eclipse rcp.

+0

Nie sądzę, że to bycie RCP projekt zmieni swój projekt Maven/continuum w ogóle, prawda? –

+1

Tak. Eclipse RCP oparty jest na OSGi dla rozwiązywania zależności, a maven jest zupełnie innym systemem do rozwiązywania zależności. Niestety nie są (jeszcze) kompatybilne. Maven 3 może rozwiązać problem, ale nie zostanie zwolniony w najbliższej przyszłości. – paulgreg

Odpowiedz

2

Podobnie jak większość pytań Maven, to jest rozwiązane poprzez link do plug-in:

"pde-maven-plugin"

Inne porady:

  1. wykorzystać do montażu w budowanie aktualizację witryna
  2. rozważ użycie hudson zamiast Continuum
0

Mam ostatnio ten sam problem: zbuduj aplikację RCP z zaćmieniem poprzez ciągłą integrację.

ja ich nie zastosowano jeszcze ale znalazłem kilka ciekawych artykułów:

  1. Oto the documentation for Tycho
  2. Building Eclipse Plugins with Maven 2 na eclipse.org
  3. Build Eclipse RCP products using Maven 2 - how hard can it be? z bloga Immo Huneke za
  4. Oto artykuł około PDE build automation
  5. Oto shell script to automate JUnit test launch
+1

Próbowałem kilka godzin Tycho na mój projekt (złożony z ~ 30 wtyczek i ~ 10 funkcji) bez wielkiego sukcesu. Musisz poświęcić więcej czasu i/lub poczekać, aż Tycho stanie się bardziej stabilny. – paulgreg

2

Od pewnego czasu walczę z integracją maven2/Eclipse RCP. Kluczem jest nie tyle poprawne ustawienie: możesz go uruchomić - w końcu - przez inżynierię odwrotną procesu budowania Eclipse w maven.

Z mojego doświadczenia wynika, że ​​najtrudniejsze jest aktualizowanie wszystkiego. Za każdym razem, gdy Eclipse będzie aktualizował swoje biblioteki, będziesz mógł ponownie napisać kilka plików pom dla tego najnowszego widgetu RCP lub biblioteki SWT. Oczywiście CI pomaga w tym nieco. Problem polega na tym, że Eclipse i maven mają bardzo duży wpływ na sposób budowania biznesu, a ich podejście jest zupełnie inne. Co gorsza, PDE dev (i Eclipse dev, bardziej ogólnie) jest zasilany przez wiele kodu kreatora, który jest czasami dość nieprzejrzysty co do tego, co dzieje się za kulisami.

Pytanie, które należy zadać sobie naprawdę, to wartość wysiłku. W moim konkretnym przypadku, uważam, że tak było. (CI jest zbyt dobry, by żyć bez tego.) Ale kompromis polega na tym, że możesz być "facetem budującym", co może zająć cenny czas z dala od rzeczywistego rozwoju, który prawdopodobnie najbardziej ci się podoba.

+0

Kolejny szybki komentarz: Daj hudsonowi spin zamiast continuum. To naprawdę zgrabne i łatwe w użyciu. – jasonnerothin

Powiązane problemy