23 lutego 2007

Pakunki OSGi w projekcie wielomodułowym Apache Maven 2 z maven-bundle-plugin

Pojawił się 5. artykuł w serii Getting started with OSGi autorstwa Neila Bartletta - Getting Started with OSGi: Consuming a Service - i podobnie, jak poprzednio opisywałem w Tworzenie pakietów OSGi z Apache Maven 2 zainspirowany OSGi, postanowiłem jeszcze bardziej urozmaicić lekturę artykułów Neila i zaprezentować kilka ciekawych usprawnień. Napisałem kolejny artykuł o OSGi, Apache Maven 2 i Eclipse IDE.

Tym razem zaprezentuję możliwość zarządzania wieloma modułami przez M2 (projekt wielomodułowy) oraz wtyczkę Bundle Plugin for Maven dalej zwaną maven-bundle-plugin. Pozwoli to na kolejne uproszczenia w zarządzaniu projektem z wieloma pakunkami OSGi (ang. OSGi bundles). Już w przypadku 2 pakunków manualne zarządzanie nimi sprawia pewne trudności, a przy ich większej ilości jest bolesne. Pamiętanie wszystkich poleceń do kompilacji i utworzenia pakunków możemy zlecić M2, szczególnie, że jego obecność w projekcie dostarcza nam innych możliwości bez dodatkowych nakładów pracy (zarządzanie zależnościami, tworzenie dokumentacji, automatyczne wykonywanie testów, itp.). Wdrożenie wtyczki Bundle Plugin for Maven to pozbycie się ręcznego zarządzania tworzeniem pliku MANIFEST.MF (ech, byłoby jeszcze przyjemniej, gdyby OSGi wspierało adnotacje). Stworzymy pojedyńczą definicję MANIFEST.MF (jako konfigurację wtyczki maven-bundle-plugin) w projekcie macierzystym i wszystkie, zarządzane przez niego projekty będą ją dziedziczyły. Poza tym, skorzystamy również z biblioteki OSGi - org.osgi.core - dostarczanej przez projekt Apache Felix i zlecimy M2 jej pobranie.

Więcej w artykule Pakunki OSGi w projekcie wielomodułowym Apache Maven 2 z maven-bundle-plugin. Miłej lektury!

Weekend przede mną! Czas na odpoczynek i coś bardziej przyziemnego jak dokończenie lektury...specyfikacji JPA 1.0 ;-) Wydaje się, że najwyższa pora na jakieś przykłady. Rozgrzany ostatnimi dokonaniami z M2 wierzę, że nie powinienem się zbytnio trudzić - akurat na weekend!