GeoGet

Complete geocaching solutions

User Tools

Site Tools


user:skripty:autor:gip

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
user:skripty:autor:gip [2020/05/14 18:19] – [Metasoubor plugin.meta.ini] gorduser:skripty:autor:gip [2020/12/27 11:51] (current) mikrom
Line 1: Line 1:
 ===== Tvorba instalačních balíčků *.gip ===== ===== Tvorba instalačních balíčků *.gip =====
 +
 ==== Co je to GIP? ==== ==== Co je to GIP? ====
 GIP je balíček, který obsahuje plugin pro program GeoGet. Pomocí balíčků je řešena automatizovaná instalace pluginů a online kontrola dostupnosti případných novějších verzí pluginu. Je to standardní soubor ** *.zip ** se změněnou příponou a definovaným obsahem. GeoGet podle tohoto obsahu: GIP je balíček, který obsahuje plugin pro program GeoGet. Pomocí balíčků je řešena automatizovaná instalace pluginů a online kontrola dostupnosti případných novějších verzí pluginu. Je to standardní soubor ** *.zip ** se změněnou příponou a definovaným obsahem. GeoGet podle tohoto obsahu:
Line 17: Line 18:
  
 ==== Struktura GIPu ==== ==== Struktura GIPu ====
-V zásadě lze říci, že **gip** obsahuje adresář (nebo adresáře) a v něm všechny soubory, které mají být instalovány. Adresář a všechny soubory v něm obsažené GeoGet při instalaci zkopíruje do **DATADIR\script**. Kromě všech souborů, které potřebuje plugin ke své práci, musí být v **gipu** ještě [[user:skripty:autor:gip#metasoubor_pluginmetaini|metasoubor]] a volitelně také [[user:skripty:autor:gip#instalacni_skript|instalační skript]]. Následující struktura ukazuje ve stromové struktuře obsah **gipu** pro instalaci fiktivního pluginu jménem PLG_JM:+V zásadě lze říci, že **GIP** obsahuje adresář (nebo adresáře) a v něm všechny soubory, které mají být instalovány. Adresář a všechny soubory v něm obsažené GeoGet při instalaci zkopíruje do **DATADIR\script**. Kromě všech souborů, které potřebuje plugin ke své práci, musí být v **GIPu** ještě [[user:skripty:autor:gip#metasoubor_pluginmetaini|metasoubor]] a volitelně také [[user:skripty:autor:gip#instalacni_skript|instalační skript]]. Následující struktura ukazuje ve stromové struktuře obsah **GIPu** pro instalaci fiktivního pluginu jménem PLG_JM:
  
 <code> <code>
Line 40: Line 41:
  
 ==== Metasoubor plugin.meta.ini ==== ==== Metasoubor plugin.meta.ini ====
-Úkolem metasoboru je podat GeoGetu informace o verzi, souborech a závislostech instalovaného nebo odinstalovávaného pluginu. Jméno souboru je odvozené od jména pluginu doplněného o příponu **meta.ini**. Soubor má pevnou strukturu, ale pokud nemají být některé položky využité, nemusejí být v souboru uvedeny vůbec. V následujícím příkladě nahrazuje PLG_JM skutečné jméno pluginu):+Úkolem metasouboru je podat GeoGetu informace o verzi, souborech a závislostech instalovaného nebo odinstalovávaného pluginu. Jméno souboru je odvozené od jména pluginu doplněného o příponu **meta.ini**. Soubor má pevnou strukturu, ale pokud nemají být některé položky využité, nemusejí být v souboru uvedeny vůbec. V následujícím příkladě nahrazuje PLG_JM skutečné jméno pluginu):
  
 <code ini PLG_JM.meta.ini> <code ini PLG_JM.meta.ini>
Line 61: Line 62:
 ; Příkaz pro zjištěni aktuální verze pluginu. Pokud položku neuvedete, ; Příkaz pro zjištěni aktuální verze pluginu. Pokud položku neuvedete,
 ; je odkaz generován automaticky na web GeoGetu (doporučeno!).  ; je odkaz generován automaticky na web GeoGetu (doporučeno!). 
-; Pokud se jedná například gip s dávkou pro Combine, můžete použít pro kontrolu soubor s příponou *.ver, +; Pokud se jedná například GIP s dávkou pro Combine, můžete použít pro kontrolu soubor s příponou *.ver, 
 ; ve kterém bude zapsáno číslo aktuální verze pluginu. ; ve kterém bude zapsáno číslo aktuální verze pluginu.
 webversion=http://www.www.geoget.cz/doku.php/user:skript:PLG_JM?current_version webversion=http://www.www.geoget.cz/doku.php/user:skript:PLG_JM?current_version
Line 91: Line 92:
 ; která je dostupná ke stažení na dané adrese. Pokud položku neuvedete, ; která je dostupná ke stažení na dané adrese. Pokud položku neuvedete,
 ; je odkaz generován automaticky na web GeoGetu (doporučeno!). ; je odkaz generován automaticky na web GeoGetu (doporučeno!).
-VarSubstLib|1.2=http://www.geoget.cz/VarSubstLib.gip+VarSubstLib|1.2=https://www.geoget.cz/VarSubstLib.gip
  
 ; závislost na knihovně (bez definované verze) ; závislost na knihovně (bez definované verze)
-StringLib=http://www.geoget.cz/doku.php/user:skript:stringlib?download+StringLib=https://www.geoget.cz/doku.php/user:skript:stringlib?download
  
 ; závislost na knihovně (vyhledává se automaticky na webu GeoGetu) ; závislost na knihovně (vyhledává se automaticky na webu GeoGetu)
Line 101: Line 102:
 [uninstall] [uninstall]
 ; Při odinstalování smazat celý obsah instalačního adresáře včetně něj. ; Při odinstalování smazat celý obsah instalačního adresáře včetně něj.
-; Pro dodržení formátu ini souboru je třeba vždy zakončit řádek pomocí znaku =.+; Pro dodržení formátu INI souboru je třeba vždy zakončit řádek pomocí znaku =.
 PLG_JM= PLG_JM=
  
Line 110: Line 111:
 </code> </code>
  
-==== Instalační skript ==== +<WRAP round important> 
-Ve složitějších případech může instalace kromě kopírování souborů vyžadovat ještě další činnosti. V tom případě musí autor vytvořit instalační skript typu [[user:skripty:ggi|ggi]]který íslušné úkony zajistí. GeoGet pak po zkopírování všech souborů tento skript spustí (resp. spustí jeho funkci **InstallWork**) a převezme návratovou hodnotu. Podle hodnoty pak informuje uživatele o úspěšné instalaci.+Pokud je v sekci [install] uveden instalační skript, při instalaci je z něj spouštěna funkce **InstallWork** (existuje-li) a při odinstalování spouští GeoGet funkci (existuje-li). 
 +</WRAP>
  
-Výsledek instalačního skriptu (funkce InstallWork) je string. Buď je prázdný (=OK), nebo bude text přidán k chybovým hlášením.+==== Instalace a odinstalace pluginu ====
  
-==== Odinstalační skript ==== +**Instalace** 
-Většinou se při odinstalování pluginu vystačí s mazáním jednotlivých souborů nebo adresářů, ale občas je potřeba udělat i jiné věci a pak je nutné použít ''*.gpi.pas'' (od/instalační script) a jeho funkci ''UninstallWork''.+Většinou k instalaci pluginu stačí standardní "rozbalení" instalačního balíčku. Ve složitějších případech ale může instalace kromě kopírování souborů vyžadovat ještě další činnosti. V tom případě musí autor vytvořit instalační skript typu [[user:skripty:ggi|GGI]], který příslušné úkony zajistí. Na něpak uvede odkaz v ''*.meta.ini'' souboru. GeoGet pak po zkopírování všech souborů tento skript spustí (resp. spustí jeho funkci **InstallWork**) a převezme návratovou hodnotu. Podle hodnoty pak informuje uživatele o úspěšné instalaci.
  
-<WRAP round important> +Výsledek instalačního skriptu (funkce InstallWork) je string. Buď je prázdný (=OK), nebo bude text přidán k chybovým hlášením. 
-Bez ohledu na tozda v ''meta.ini'' souboru uvedete adresář, bude script volán z adresáře, který je uveden instalačního scriptu sekci ''[install]''. + 
-</WRAP>+**Odinstalování** 
 +Stejně jako při instalacistačí většinou pro odinstalování uvést v sekci [uninstall] soubory a adresáře, které je třeba vymazat. (Soubor ''*.meta.ini'' není třeba uvádětten se maže automaticky.) V některých případech ale můžbýt potřeba dělat jiné činnosti než prosté mazání souborů a/nebo adresářů. V takovém případě je třeba instalačním skriptu vytvořit funkci **UninstallWork**.
  
 +Pokud je v ''*.meta.ini'' souboru uveden instalační skript, je spouštěn i při odinstalování, resp. je v něm spuštěna právě funkce **UninstallWork**.
  
 ==== Popis průběhu instalace či aktualizace ==== ==== Popis průběhu instalace či aktualizace ====
user/skripty/autor/gip.1589473140.txt.gz · Last modified: 2020/05/14 18:19 by gord