Hlavní menu

Nástroje

Guica / Kompilace

View (print) - Edit page | Recent changes - Page history

Updated 19 June 2012, 18:25 by PremekBrada

Kompilace a spuštění projektu

Pozn: Momentálně (06/2012, r96) co se Eclipse týče běží pod Helios, protože potřebuje jemu odpovídající = starší verzi OSGi frameworku.

  1. Provést checkout ze SVN na http://subversion.assembla.com/svn/guica/
  2. Pro každý bundle bude potřeba vytvořit nový Plug-in Project v Eclipse přes File->New->Other..->Plug-in Project.
    • Jméno projektu by mělo být stejné jako symbolické jméno bundle.
    • Cesta k projektu: odškrtnout "Use default location" a vybrat cestu k podprojektu trunk/ získaného přes checkout v předchozím kroku.
    • V Target Platform je třeba mít: an OSGI Framework: standard.
    • Next, odškrtnout "Generate an Activator".
    • Next, odškrtnout "Create ... templates".
    • Finish
    • Protože Eclipse s největší pravděpodobností přepíše MANIFEST.MF pro každý bundle svým vlastním, vygenerovaným podle parametrů vytvořeného projektu, je potřeba pro každý manifest udělat svn revert (v Eclise se Subversion pluginem: na Package Explorer souboru MANIFEST.MF right-click > Team > Revert) aby se vrátil do "našeho" stavu.
  3. Nastavení Build Configuration pro bundle Gui.
    U bundlu kiv.guica.gui? je potřeba ještě nastavit, aby se adresář Ikony zahrnul do výsledného bundle. Toho lze dosáhnout například poklepáním build.properties (je v kořenu projektu) v package explorer (standardně levá část obrazovky). V hlavní části okna se objeví obrazovka Build Configuration, v její levé dolní části je Binary Build, kde zaškrtneme adresář Ikony.
  4. Vytvoření bundlů.
    Pro vytvoření bundlů nyní stačí na stejném místě jako jsme nastavovali Build Configuration (lze toho dosáhnout i přes poklepání /META-INF/MANIFEST.MF v package explorer), v pravém horním rohu jsou 4 ikony. My klikneme na tu třetí z leva (Export deployable plugins and fragments).
    V následném dialogovém okně zaškrtneme všechny bundly. A nastavíme Destination->Directory: na adresář a kam chceme, aby výsledné .jar soubory.
  5. Instalace a spuštění ve framework.
    Po spuštění frameworku nainstalujeme bundly příkazem install file:///cesta_k_bundlům/nazev_bundlu.jar.
    Spuštění bundlů se provede příkazem start ID, kde ID je číslo, které mu přidělí framework (standartně se ukazuje po nainstalování bundlů). Pro spravné fungování aplikace je provést start ve správném pořadí. Nejdříve se musí spustit bundle cz.zcu.kiv.guica.support?, potom cz.zcu.kiv.guica.bundleStateProvider?, cz.zcu.kiv.guica.serviceStateProvider?, cz.zcu.kiv.guica.packageStateProvider? v libovolném pořadí a nakonec cz.zcu.kiv.guica.gui?.
  6. Spuštění pod Eclipse: Vytvoří se Run configuration typu OSGi Framework, přidají se do ní bundly z Workspace, udělá se "Add Required Bundles" a pak se musí nastavit pořadí spuštění bundlů Guicy přes "Start Level" (-1 pro framework sám, 1 pro support, 2 pro providery, 3 pro GUI).

Pozn. Pokud se při spouštění bundlů *provider zobrazí hláška Couldn't find any IService? services... může to znamenat, že není spuštěn bundle cz.zcu.kiv.guica.support, který tuto službu poskytuje. Pokud běží zkuste ho restartovat (stop, start), případně odinstalovat a nainstalovat. Pokud ani to nepomůže zkuste ještě bundly smazat cache frameworku (např. u Apache Felix je to adresář /felix-cache) a znova bundly nainstalovat. Tato chyba se občas vyskytuje pokud bundle cz.zcu.kiv.guica.support? aktualizujete (příkaz update).