Apache Ant

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 29. května 2014; kontroly vyžadují 19 úprav .
Apache Ant
(další elegantní nástroj)
Typ Automatizace montáže
Vývojář Apache Software Foundation
Zapsáno v Java [2] [1]
Operační systém Multiplatformní software
První vydání července 2000 a 17. února 2006 [1]
Hardwarová platforma Java virtuální stroj
Nejnovější verze
Licence Licence Apache 2.0
webová stránka ant.apache.org
 Mediální soubory na Wikimedia Commons

Apache Ant ( anglicky  ant  - an ant a akronym  - "Another Neat Tool") je nástroj pro automatizaci procesu vytváření softwarového produktu. Jedná se o multiplatformní obdobu nástroje make , kde jsou všechny příkazy zapsány ve formátu XML .

Ant vznikl jako součást projektu Jakarta , dnes je nezávislým prvotřídním projektem Apache Software Foundation .

První verze byla vyvinuta inženýrem Sun Microsystems Jamesem Davidsonem .), který potřeboval nástroj jako make při vývoji první referenční implementace J2EE .

Ant, na rozdíl od jiného tvůrce projektu Apache Maven , poskytuje spíše imperativ než deklarativní sestavení projektu.

Popis

Na rozdíl od make je nástroj Ant zcela nezávislý na platformě, vyžaduje pouze instalaci pracovního prostředí Java  ( JRE ) na používaný systém . Vynechání příkazů operačního systému a formát XML zajišťují přenositelnost skriptů.

Proces sestavení je řízen skriptem XML , který se také nazývá soubor sestavení. Tento soubor obsahuje především definici projektu, který se skládá z jednotlivých cílů ( Targets ). Cíle jsou srovnatelné s procedurami v programovacích jazycích a obsahují volání příkazů task ( Tasks ). Každý úkol je nedělitelný atomický příkaz, který provádí nějakou elementární akci.

Mezi cíli lze definovat závislosti - každý cíl je proveden až poté, co jsou splněny všechny cíle, na kterých závisí (pokud již byly splněny dříve, opětovné provedení se neprovádí).

Typickými příklady cílů jsou čisté (odstranění přechodných souborů), kompilace ( kompilace všech tříd), nasazení (nasazení aplikace na server). Konkrétní soubor cílů a jejich vztahy závisí na specifikách projektu.

Ant vám umožňuje definovat vlastní typy úloh vytvořením tříd Java , které implementují určitá rozhraní .

Často používané úkoly (Úkoly)

Distribuce zahrnuje mnoho knihoven, které ovlivňují širokou škálu úloh. Kromě toho jsou na webu projektu k dispozici další knihovny, které rozšiřují funkčnost produktu, například pro integraci se systémy třetích stran. Standardní verze obsahuje přes 150 typů úloh. Příklady takových příkazů jsou uvedeny níže.

Kód Akce
javac kompilace Java kódu
kopírovat kopírování souborů
vymazat mazání souborů a adresářů
přestěhovat se přesouvání souborů a adresářů
nahradit nahrazování textových fragmentů v souborech
junit automatické spuštění jednotkových testů
exec provedení externího příkazu
zip vytvoření archivu ZIP
cvs provedení příkazu CVS
pošta odeslání emailu
xslt Překryvné transformace XSLT

Ukázkový skript

Tento skript definuje dva cíle, clean a build . První odstraní dočasné soubory, druhý zkompiluje a vytvoří archiv JAR . Cíl sestavení závisí na clean , takže když se spustí, nejprve se vyčistí a teprve potom provede skutečné úlohy sestavení. Build je také vybrán jako výchozí cíl. To znamená, že bude spuštěn při zpracování tohoto skriptu bez explicitního určení cíle.

<?xml version="1.0"?> <project default= "build" basedir= "." > < název vlastnosti= "name" value= "AntBuildJar" /> < název vlastnosti= "src.dir" location= "${basedir}/src" /> < název vlastnosti= "build" location= "${basedir} /build" /> < název vlastnosti= "build.classes" location= "${build}/classes" /> <path id= "libs.dir" > < fileset dir= "lib" include = "**/* .jar" /> </path> <!-- Sestavte aplikaci --> <cílový název= "sestavení" závisí= "čisté" description= "Sestaví aplikaci" > <!-- Vytvořte adresáře --> <mkdir dir = "${build.classes}" /> <!-- Zkompilujte zdrojové soubory --> <javac srcdir= "${src.dir}" destdir= "${build.classes}" debug= "false" deprecation= "true" optimalizovat= "true" > <classpath refid= "libs.dir" /> </javac> <!-- Zkopírujte požadované soubory --> <copy todir= "${build.classes}" > < fileset dir= "${src.dir}" include = "**/*.*" excludes = "** /*.java" /> </copy> <!-- Vytvořit soubor JAR --> <jar jarfile= "${build}/${name}.jar" > < fileset dir= "${build.classes}" /> </jar> </target > <!-- Cleanup --> <target name= "clean" description= "Odstraní všechny dočasné soubory" > <!-- Odebrat soubory --> <delete dir= "${build.classes}" /> </target > </projekt>

Poznámky

  1. 1 2 https://projects.apache.org/json/projects/ant.json
  2. The ant Open Source Project on Open Hub: Languages ​​Page - 2006.
  3. Novinky projektu Apache Ant™

Viz také

  • Apache Maven  je alternativní nástroj s podobnými úkoly
  • Gradle je alternativní nástroj, který podporuje úkoly od ant

Odkazy