16 października 2009

Tworzenie pakunków OSGi w Eclipse IDE 3.6m2 - Eclipse się sprawdził

Potrzebowałem stworzyć wtyczkę OSGi, ale nie miałem zamiaru zejść na poziom linii poleceń. To już przerabiałem w Tworzenie pakietów OSGi z Apache Maven 2 czy Pakunki OSGi w projekcie wielomodułowym Apache Maven 2 z maven-bundle-plugin. Tym razem miałem potrzebę skorzystania z IDE.

NetBeans IDE odpada, bo nie oferuje żadnego wsparcia w tym temacie. IntelliJ IDEA - hmmm, nie mam wciąż pojęcia, czy się nadaje, ale przecież Eclipse IDE to w końcu środowisko oparte na OSGi - jako platformie i składowych. W Eclipse można stworzyć jego wtyczki (rozszerzenia), które są niczym innym jak pakunkami OSGi.

Po chwili byłem po lekturze artykułu OSGi with Eclipse Equinox - Tutorial i byłem gotów do eksperymentów.

Zaczynam typowo. Otwieram Eclipse 3.6M2, Ctrl+N i wybieram Plug-in Project.

Uzupełniam dane projektu przyszłej wtyczki - Project name ustawiam na ejb-client i wybieram Target Platform jako an OSGi framework: standard (ktoś wie, co to oznacza i czego nie mam w porównaniu z Equinox?).

Kolejny ekran bez zmian

i w następnym Templates wybieram Hello OSGi Bundle.

Super te szablony, bo z nimi stworzenie bardziej wyrafinowanej wtyczki (wszystkie poza wspomnianym Hello OSGi Bundle) sprowadza się do odpowiedniego wyboru. Nie trzeba nawet wiedzieć, co to są pakunki, aby je stworzyć!

Ostatni ekran to konfiguracja szablonu, więc może się różnic, w zależności od wcześniejszego wyboru.

Kiedy pojawi się pytanie o przełączenie perspektywy na Plug-in Development

wciskam Yes i w końcu mam swój wymarzony pakunek OSGi.

Teraz można dalej się bawić w tworzenie bardziej wyrafinowanych elementów pakunku, a na uznanie zasługują dwie rzeczy - edytor MANIFEST.MF (patrz zrzut ekranu wyżej) oraz widok Outline (na zrzucie wyżej po prawej).

Kiedy przełączyłem się na zakładkę MANIFEST.MF w edytorze manifestu, w widoku Outline pojawiła się charakterystyka pakunku. Bajera!

Mając gotową wtyczkę/pakunek wystarczy File > Export i wybrać Deployable plug-ins and fragments.

Mamy możliwość wyboru pakunku i jego danych do eksportu.

Po prostu bajka. Wszystko idzie bez najmniejszych potknięć. W katalogu plugins, poniżej wskazanego katalogu, czeka na nas gotowy do uruchomienia pakunek OSGi.

W łatwy sposób mamy możliwość importu istniejących pakunków oraz definiowania zależności między nimi - określenie importów i eksportów w manifeście.

Tym samym Eclipse IDE 3.6m2 stało się narzędziem numer 1, jeśli chodzi o tworzenie pakunków OSGi.

Ciekawe, czy IntelliJ IDEA daje jakiekolwiek wsparcie dla tworzenia pakunków OSGi?