08 września 2008

Budowanie Spring-DM ze źródeł

Kolejny raz potwierdziła się stara maksyma, która mówi, aby rozpoczynać pracę z projektem od lektury jego dokumentacji. Tym razem od kilku dni borykałem się ze zbudowaniem Spring-DM ze źródeł i wciąż trafiałem na błąd kompilacji z braku pakietu org.osgi. Dzisiaj po uaktualnieniu wtyczki m2eclipse udało mi się zaimportować projekt Spring-DM do Eclipse Ganymede i natrafić na przysłowiową żyłę złota - readme-building.txt, gdzie napisano:

The following Maven profiles are available for selecting an OSGi platform:

equinox - Equinox 3.2.x
knopflerfish - Knopflerfish 2.0.x/2.1.x
felix - Apache Felix 1.0.x

The OSGi platform should be always specified otherwise the project will not compile.


co sprowadza się do uruchomienia polecenia mvn clean install z określeniem profilu z bibliotekami Platformy OSGi, np. equinox, tj.
 mvn -P equinox clean install
Po tym proces budowania Spring-DM zakończył się z BUILD SUCCESSFUL po niespełna 3 minutach (!)
 [INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Spring Dynamic Modules ................................ SUCCESS [2.968s]
[INFO] Spring OSGi Mocks ..................................... SUCCESS [1:05.110s]
[INFO] Spring OSGi IO ........................................ SUCCESS [8.625s]
[INFO] Spring OSGi Core ...................................... SUCCESS [36.407s]
[INFO] Spring OSGi Extender .................................. SUCCESS [7.422s]
[INFO] Spring OSGi Testing Framework ......................... SUCCESS [18.828s]
[INFO] Spring OSGi Web Support ............................... SUCCESS [21.906s]
[INFO] Spring OSGi Web Extender .............................. SUCCESS [5.109s]
[INFO] Spring OSGi Archetype ................................. SUCCESS [2.750s]
[INFO] Spring OSGi Annotations ............................... SUCCESS [2.516s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 54 seconds
Bajecznie! Zastanawiam się, dlaczego nie zdefiniowano equinox jako domyślnego profilu w głównym pom.xml projektu? Z m2eclipse to jedynie włączenie Active by default w zakładce Profiles.


Zgłosiłem jako OSGI-618 Define equinox as default OSGi platform while builing i dołączyłem łatkę. To już kolejne (drobne) zgłoszenie w Spring-DM.