XIQE/Maven ExEx Plugin
Obsah
XIQE: Plugin pro spouštění experimentů systémem ExEx z Mavenu
Lokální instalace pluginu
Pokud chcete spouštět experimenty, musíte si nejdříve plugin nainstalovat. Zdroje pluginu se již nachází v repository, takže instalace aktuální verze je poměrně jednoduchá.
- Stáhněte si zdrojové soubory pluginu ze SVN repository
svn checkout https://www.bilysklep.cz/repos/xml/trunk/xiqe/maven-exex-plugin
- Přepněte se do adresáře pluginu a spusťte instalaci
cd maven-exex-plugin maven plugin:install
- Úspěch instalace pluginu můžete ověřit příkazem
maven -P exex
Instalace na fakultních počítačích
Do adresáře pro pluginy mavenu není na faktultě povolen zápis a výše popsaná instalace se proto nezdaří.
Z neznámého důvodu není účinné nastavení lokálního adresáře pro pluginy pomocí property maven.plugin.user.dir
. Proto musíte celý adresář s pluginy přesunout do domovského adresáře.
- Ve svém domovském adresáři vytvořte soubor
build.properties
(pokud ještě není vytvořený) a v něm nastavte nové umístění adresáře s pluginy
maven.plugin.dir=${maven.home.local}/plugins
- Z globální instalace Mavenu si zkopírujte již nainstalované pluginy
cp -r $MAVEN_HOME/plugins $HOME/.maven/
Po provedení těchto kroků můžete pokračovat v normální instalaci.
Známé potíže a jejich řešení
Někdy se může stát, že se instalace pluginu nezdaří. To se děje zvláště tehdy, když instalujete plugin z příkazové řádky a zároveň z IDE, protože IDE plugin může mít zamčené některé soubory v cache. Pak obvykle stačí IDE zavřít a z adresáře $HOME/.maven/cache vymazat adresář pluginu.
Nastavení pluginu
Nastavení pluginu můžete přizpůsobit vlastním požadavkům nastavením následujících properties například v souboru
${basedir}/project.properties
. Podrobné informace o zpracování properties Mavenem je na adrese http://maven.apache.org/reference/properties.html.
Property | Popis | Přednastavená hodnota |
---|---|---|
maven.exex.experiment.dir
|
Adresář, kde jsou uloženy definice a konfigurace experimentů. | ${basedir}/src/main/experiments
|
maven.exex.output.dir
|
Adresář, do kterého se ukládají všechny vygenerované výstupy. | ${maven.build.dir}/experiment-results
|
Možnosti pluginu
Spouštění experimentu
Při spouštění experimentu je nutné předat parametr s názvem experimentu, který se má spustit (název souboru bez přípony .xml
)? Příklad pro soubor s definicí experimentu s názvem sample-experiment.xml
:
maven exex:run -Dmaven.exex.experiment=sample-experiment
Výsledky experimentu se uloží do souboru ${maven.exex.output.dir}/sample-experiment-out.xml
.
Předzpracování výsledků
Pro úspěšné předzpracování výsledků experimentu je potřeba mimo názvu experimentu předat také název konfigurace. Pro jednu definici experimentu můžeme mít vytvořeno více konfigurací. Například pro soubor sample-experiment.xml
máme vytvořenou konfiguraci pro export podmnožiny sebraných výsledků do LaTeXu. Konfigurační soubor je nutné nazvat stejně jako experiment a připojit k němu název konfigurace (tedy sample-experiment-latex.xml
).
maven exex:preprocess -Dmaven.exex.experiment=sample-experiment -Dmaven.exex.config=latex
Předzpracovaný dokument je připraven k transformaci (S výjimkou exportu do GNUPlotu, potřebné předzpracování jsem přidal přímo do cíle exex:plot
.). Předzpracovaný soubor bude nazván ${maven.exex.output.dir}/sample-experiment-preprocessed.xml
.
LaTeX
Zdroje pro systém LaTeX se generují z předzpracovaného souboru příkazem
maven exex:latex -Dmaven.exex.experiment=sample-experiment -Dmaven.exex.config=latex
Grafy
Grafy se generují z předzpracovaného souboru příkazem
maven exex:plot -Dmaven.exex.experiment=sample-experiment -Dmaven.exex.config=<config-name>
Cíl exex:plot
pouze spouští podcíle exex:plot-prepare
a exex:plot-generate
. Cíl exex:plot-prepare
lze použít pro vygenerování zdrojového souboru pro program GNUPlot. Druhý cíl exex:plot-generate
z tohoto zdrojového souboru již programem GNUPlot generuje samotný graf.
Další výstupní formáty
Lze přidávat další výstupní formáty dle potřeby. První možnost je integrovat šablony přímo do pluginu a přidat cíl. Druhou možností je přidání obecného cíle exex:transform
s parametry maven.exex.experiment
a maven.exex.template
.
Připomínky
Rád uvítám jakékoliv připomínky ohledně zlepšení koncepce pluginu na adrese xvlcek1@fi.muni.cz.
Poznámky
Organizační
- Založit repository ve škole
- Nahrát saxon8.jar do repository
Nápady
Konfigurace experimentů
- Konfigurace experimentu a jednotlivé konfigurace výstupů by se mohly spojit do jednoho souboru a při načítání jednotlivých konfigurací výstupů se může použít XQuery
- Vytvořit XML Schema pro tento formát souboru
- Prozkoumat možnost vytváření reportů do stránek projektu
- Ještě není jasné, do jakého adresáře v projektu se budou ukládat konfigurace experimentů (XML soubory). Dá se nastavit v property
maven.exex.experiment.dir