konto usunięte

Temat: Projekty Eclipse a repo

Cześć,

Muszę umieścić projekt w Eclipse w repozytorium svn, tak, by każdy po zrobieniu fresh checkoutu mógł od razu odpalić go w swoim Eclipse i włączyć się do pracy. Jednocześnie nie chcę, by były przechowywane w repo jakiekolwiek user preferences.

Możecie mi powiedzieć jak to zrobić? W tej chwili uploaduje się non-stop katalog .metadata. Czy mam go po prostu wyłączyć z pod wersjonowania i dodać do ignore, czy da się zmusić eclipse'a by trzymał go w innym katalogu?

Andrzej
Maciej Nowicki

Maciej Nowicki Java Developer

Temat: Projekty Eclipse a repo

Na moje oko, jeżeli w repo masz katalog .metadata to wrzuciłeś do repozytorium nie katalog z projektem, ale cały workspace Eclipsa.
Adrian C.

Adrian C.
projektant/programis
ta

Temat: Projekty Eclipse a repo

Cześć, jeśli chcesz rozdzielić kod od ustawień, w projekcie eclipsowym musisz podlinkować folder ze źródłami jako zewnętrzny folder. Wtedy wszystkie dane dotyczące projektu .settings, .classpath itp. masz tam gdzie workspace w katalogu z nazwa projektu, a same źródła w wyciągniętym katalogu z SVN.
Tylko to jest sprzeczne z Twoim wymaganiem, w sensie: „checkout i każdy ma gotowy projekt w eclipse”, bez plików ustawień nie da się magicznie tego zrobić, chyba że....
Zakładając że komitujesz pliki ostawień projektu to musiałbyś narzucić dużą dyscyplinę w zespole, wszyscy maja zewnętrzne jary w tych samych katalogach(chyba że jary masz też zakomitowane do SVN), wszyscy mają po instalowane JRE z takimi samymi nazwami jak ty w eclipse, to raczej się nie uda. A dodatkowo jak masz projekt składający się z kilku modułów może być problem.

Wracając do tego „chyba że...”, gdybyś miał projekt zrobiony w mavenie(być może masz) wszystkie Twoje bolączki rozwiązują się same. Do SVN nie komitujesz niczego oprócz kodu i zasobów(nie mam tu na myśli zewnętrznych plików JAR), ignorujesz pliki ustawień, nie komitujesz również bibliotek od których zależy Twój projekt. Następnie koledzy wyciągają projekt, na katalogu projektu wykonują mvn „eclipse:eclipse” importują projekt do eclipse i wszyscy są szczęśliwi.
Maciej Nowicki

Maciej Nowicki Java Developer

Temat: Projekty Eclipse a repo

Kombinujesz jak koń pod górkę, a ja nie widzę, w czym problem :)

Przy check in - zakładasz w repo katalog, jako źródło podajesz katalog projekty z Eclipse (nie workspace, jak zapewne zrobił Andrzej) i commitujesz wszystko - łącznie z katalogami jak .settings i plikami .classpath i .projects.

To naprawdę wszystko - teraz każdy robi sobie checkout i ma projekt gotowy do pracy.
Adrian C.

Adrian C.
projektant/programis
ta

Temat: Projekty Eclipse a repo

Maciej skąd pewność, że w plikach konfiguracyjnych eclipse nie ma żadnych ścieżek bezwzględnych do katalogów, plików na lokalnej maszynie, mogę się oczywiście mylić.
Maciej Nowicki

Maciej Nowicki Java Developer

Temat: Projekty Eclipse a repo

To fakt, nie możesz mieć tej pewności, ale jak nic nie czarujesz przy projekcie nie powinno być tego problemu:

- JRE domyślne w Eclipse
- wszystkie dependencies wewnątrz projektu i zacommitowane: zarówno jary z bibliotekami jak i (IMHO ważne, a często pomijane!) źródła bibliotek w tej właśnie wersji
- pliki tymczasowe - gdzieś w katalogu projektu
- odwołania do bezwzględnych katalogów/plików na lokalnej maszynie - to już błąd designu projektu, lepiej poprawić szybciej niż później
- dane do połączeń do baz/ldap/backendu itp. - tu największy ból, jakieś w miarę rozsądne rzeczy zacommitowane w propertiesach + możliwość ich nadpisania w plikach xxxxxx.local.properties dodanych do .ignore

Pewnie, że to nie jest złota recepta na wszystko, ale na co dzień się sprawdza.

W 95% projektów przy których pracowałem wystarczy ściągnąć z SVN i odpalić anta bez żadnej konfiguracji, w pozostałych trzeba zdefiniować ze dwa lub trzy lokalne propertiesy, np. ścieżkę do serwera aplikacji gdzie ma być deployowany projekt - chociaż też widziałem obejście i tego - spakowany tomcat w projekcie, przy ant deploy target sprawdzał czy tomcat istnieje, jeżeli nie, rozpakowywał go gdzieś w katalogu z projektem i tam deployował aplikację. aczkolwiek wg mnie to już przesada
Adrian C.

Adrian C.
projektant/programis
ta

Temat: Projekty Eclipse a repo

Przewietrzyłem się i rzeczywiście chyba za bardzo przyzwyczajony jestem do projektów w których nikt z góry nie narzuca nikomu IDE(tutaj w końcu miał być eclipse), oraz projekty te zależą od dużej ilości bibliotek zewnętrznych, a SVN to duża ilości branchy i tagow. Jakoś nigdy mi także nie leżało komitowanie bibliotek/żródeł/javadoc zewnętrznych do SVN. Dlatego maven jest dla mnie naturalnym wyborem jeśli chodzi o zarządzanie projektem z jego wszelkimi dobrodziejstwami, stąd moja uwaga z mavenem.
Masz rację nie ma co kombinować(chyba że maven już jest w projekcie).
Łukasz Ważny

Łukasz Ważny winning doesn't
really matter as
long as you win

Temat: Projekty Eclipse a repo

Zawszę dodaję pliki/katalogi Eclipse'we do svn:ignore (.project, .externalToolBuilders, i co tam jeszcze nam Eclipse doda). Inny deweloper robi "Import from SVN" i sam sobie konfiguruje projekt - po prostu działa. IDE/Eclipse to jedno, a kod i zawartość repo to drugie.

konto usunięte

Temat: Projekty Eclipse a repo

Łukasz Ważny:
Zawszę dodaję pliki/katalogi Eclipse'we do svn:ignore (.project, .externalToolBuilders, i co tam jeszcze nam Eclipse doda). Inny deweloper robi "Import from SVN" i sam sobie konfiguruje projekt - po prostu działa. IDE/Eclipse to jedno, a kod i zawartość repo to drugie.
Tutaj trochę zależy od wielkości projektu. Sam porusza się raczej w C/C++ i systemach wbudowanych.

Jesli zespół korzysta z takich samych narzedzi to używanie zmiennych środowiskowych zarówno systemu jak i Eclipse (np. Include Path korzystający z ${ProjDirPath}) pozwala często ropocząć pracę zaraz po imporcie z SVN - bez konieczności konfiguracji nowego projektu. Ma to szczególnie znaczenie gdy np. C/C++ Include Path sa zdefiniowane w ustawieniach projektu.Krzysztof W. edytował(a) ten post dnia 09.10.11 o godzinie 17:37



Wyślij zaproszenie do