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/12 21:29] – [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 81: Line 82:
  
 [install] [install]
-; Instalační skript. Může obsahovat funkce InstallWork : String a +; Instalační skript. Může obsahovat funkce InstallWork:String a 
-; UninstallWork : String.+; UninstallWork:String 
 +; tyto funkce jsou volány při instalaci nebo odinstalaci pluginu 
 +; (pokud je zde instalační skript uveden)
 script=PLG_JM\PLG_JM.ggi.pas script=PLG_JM\PLG_JM.ggi.pas
  
Line 89: 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 99: 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 105: Line 108:
 ..\offline\PLG_JM.*= ..\offline\PLG_JM.*=
 ..\offline\PLG_JM\= ..\offline\PLG_JM\=
- 
-; ...případně je možné spustit (od)instalační script 
-PLG_JM.gpi.pas= 
  
 </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ý pří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> 
 + 
 +==== Instalace a odinstalace pluginu ==== 
 + 
 +**Instalace** 
 +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ěj 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.
  
 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. 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.
 +
 +**Odinstalování**
 +Stejně jako při instalaci, stačí 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ět, ten se maže automaticky.) V některých případech ale může být potřeba dělat i jiné činnosti než prosté mazání souborů a/nebo adresářů. V takovém případě je třeba v 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.1589311762.txt.gz · Last modified: 2020/05/12 21:29 by gord