Apache Ant

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2014. május 29-én felülvizsgált verziótól ; az ellenőrzések 19 szerkesztést igényelnek .
Apache Ant
(egy másik ügyes eszköz)
Típusú Szerelési automatizálás
Fejlesztő Apache Software Foundation
Beírva Java [2] [1]
Operációs rendszer Többplatformos szoftver
Első kiadás 2000. július és 2006. február 17. [1]
Hardver platform Java virtuális gép
legújabb verzió
Engedély Apache 2.0 licenc
Weboldal ant.apache.org
 Médiafájlok a Wikimedia Commons oldalon

Az Apache Ant ( angol  hangya  - hangya és egy mozaikszó  - "Another Neat Tool") egy olyan segédprogram , amely automatizálja a szoftvertermékek létrehozásának folyamatát. Ez a make segédprogram többplatformos analógja , ahol minden parancs XML formátumban van írva.

Az Ant a Jakarta projekt részeként jött létre , ma az Apache Software Foundation független első szintű projektje .

Az első verziót a Sun Microsystems mérnöke, James Davidson fejlesztette ki.) . _ _ _

Az Ant, ellentétben a másik projektépítő Apache Mavennel , inkább kötelező , semmint deklaratív projektfelépítést biztosít.

Leírás

A make-vel ellentétben az Ant segédprogram teljesen platformfüggetlen, csak a Java munkakörnyezet  ( JRE ) telepítését igényli a használt rendszerre . Az operációs rendszer parancsainak elhagyása és az XML formátum hordozhatóságot biztosít a szkriptek számára.

Az összeállítási folyamatot egy XML -szkript vezérli, amelyet Build fájlnak is neveznek. Először is ez a fájl tartalmazza a projekt definícióját, amely egyedi célokból áll ( Targets ). A célok összehasonlíthatók a programozási nyelvek eljárásaival , és feladatparancsokat tartalmaznak ( Tasks ). Mindegyik feladat egy oszthatatlan, atomi parancs, amely valamilyen elemi műveletet hajt végre.

A célok között függőségek definiálhatók - minden cél csak azután kerül végrehajtásra, hogy az összes olyan cél megvalósult, amelytől függ (ha már korábban teljesültek, akkor az újbóli végrehajtás nem történik meg).

Tipikus példák a célokra: tiszta (köztes fájlok eltávolítása), fordítás ( összes osztály fordítása), telepítés ( az alkalmazás telepítése a kiszolgálón). A konkrét célok és azok összefüggései a projekt sajátosságaitól függenek.

Az Ant lehetővé teszi saját feladattípusok meghatározását bizonyos interfészeket megvalósító Java osztályok létrehozásával .

Gyakran használt feladatok (Tasks)

A disztribúció számos könyvtárat tartalmaz, amelyek sokféle feladatot érintenek. Ezenkívül további könyvtárak is elérhetők a projekt weboldalán, amelyek kiterjesztik a termék funkcionalitását, például a harmadik féltől származó rendszerekkel való integrációhoz. A standard verzió több mint 150 feladattípust tartalmaz. Az alábbiakban példákat mutatunk be az ilyen parancsokra.

A kód Akció
javac Java kód fordítása
másolat fájlok másolása
töröl fájlok és könyvtárak törlése
mozog fájlok és könyvtárak mozgatása
cserélje ki szövegtöredékek cseréje a fájlokban
junit egységtesztek automatikus futtatása
végrehajtó külső parancs végrehajtása
postai irányítószám Zip archívum létrehozása
cvs a CVS parancs végrehajtása
posta email küldése
xslt Átalakítja az XSLT -t

Minta szkript

Ez a szkript két célt határoz meg, a clean és a build . Az első eltávolítja az ideiglenes fájlokat, a második lefordítja és létrehoz egy JAR archívumot. Az összeállítási cél a clean függvénytől függ , így amikor fut, először megtisztítja, és csak ezután végzi el a tényleges összeállítási feladatokat. A Build is ki van választva alapértelmezett célként. Ez azt jelenti, hogy a parancsfájl feldolgozása során a cél kifejezetten megadása nélkül kerül végrehajtásra.

<?xml version="1.0"?> <project default= "build" basedir= "." > <property name= "name" value= "AntBuildJar" /> <property name= "src.dir" location= "${basedir}/src" /> <property name= "build" location= "${basedir} /build" /> <property name= "build.classes" location= "${build}/classes" /> <útvonal id= "libs.dir" > <fájlkészlet dir= "lib" include = "**/* .jar" /> </path> <!-- Alkalmazás felépítése --> <target name= "build" dependent= "clean" description= "Építi az alkalmazást" > <!-- Könyvtárak létrehozása --> <mkdir dir = "${build.classes}" /> <!-- Forrásfájlok fordítása --> <javac srcdir= "${src.dir}" destdir= "${build.classes}" debug= "false" deprecation= "true" optimize= "true" > <classpath refid= "libs.dir" /> </javac> <!-- Kötelező fájlok másolása --> <copy todir= "${build.classes}" > < fileset dir= "${src.dir}" include = "**/*.*" excludes = "** /*.java" /> </copy> <!-- JAR-fájl létrehozása --> <jar jarfile= "${build}/${name}.jar" > <fileset dir= "${build.classes}" /> </jar> </target > <!-- Tisztítás --> <target name= "clean" description= "Eltávolítja az összes ideiglenes fájlt" > <!-- Fájlok eltávolítása --> <delete dir= "${build.classes}" /> </target > </project>

Jegyzetek

  1. 1 2 https://projects.apache.org/json/projects/ant.json
  2. A hangya nyílt forráskódú projekt az Open Hubon: Nyelvek oldala - 2006.
  3. Apache Ant™ Project News

Lásd még

  • Az Apache Maven  egy alternatív eszköz hasonló feladatokkal
  • A Gradle egy alternatív eszköz, amely támogatja az ant

Linkek