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.
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í .
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 |
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>Apache Software Foundation | |||||||
---|---|---|---|---|---|---|---|
Projekty nejvyšší úrovně |
| ||||||
Podprojekty |
| ||||||
Webové |
| ||||||
Jiné projekty | |||||||
Rozvojové projekty ( Inkubátor ) |
| ||||||
Vyřazené projekty ( podkroví ) | |||||||
|
Montážní automatizační systémy | |
---|---|