Apache Ant (ett annat snyggt verktyg) | |
---|---|
Sorts | Monteringsautomation |
Utvecklaren | Apache Software Foundation |
Skrivet i | Java [2] [1] |
Operativ system | Programvara för flera plattformar |
Första upplagan | juli 2000 och 17 februari 2006 [1] |
Hårdvaruplattform | Java Virtual Machine |
senaste versionen |
|
Licens | Apache 2.0-licens |
Hemsida | ant.apache.org |
Mediafiler på Wikimedia Commons |
Apache Ant ( engelsk ant - en myra och en akronym - "Another Neat Tool") är ett verktyg för att automatisera processen att bygga en mjukvaruprodukt. Det är en plattformsoberoende analog av verktyget make , där alla kommandon är skrivna i XML -format.
Ant skapades som en del av Jakarta -projektet , idag är det ett oberoende projekt på första nivå av Apache Software Foundation .
Den första versionen utvecklades av Sun Microsystems ingenjör James Davidson .) som behövde ett verktyg som fabrikat när man utvecklade den första J2EE- referensimplementeringen .
Ant, till skillnad från den andra projektbyggaren Apache Maven , tillhandahåller en imperativ snarare än en deklarativ projektkonstruktion.
Till skillnad från make är Ant-verktyget helt plattformsoberoende, det kräver bara att Java -arbetsmiljön ( JRE ) är installerad på systemet som används . Utelämnandet av operativsystemkommandon och XML-formatet ger portabilitet för skript.
Byggprocessen styrs av ett XML -skript, även kallat en byggfil. Först och främst innehåller denna fil definitionen av projektet, som består av individuella mål ( Targets ). Mål är jämförbara med procedurer i programmeringsspråk och innehåller anrop till uppgiftskommandon ( Tasks ). Varje uppgift är ett odelbart, atomiskt kommando som utför någon elementär handling.
Beroenden kan definieras mellan mål - varje mål utförs först efter att alla mål som det beror på har slutförts (om de redan har slutförts tidigare, utförs inte omkörning).
Typiska exempel på mål är ren (ta bort mellanfiler), kompilera ( kompilera alla klasser), distribuera (distribuera applikationen på servern). Den specifika uppsättningen av mål och deras relationer beror på detaljerna i projektet.
Ant låter dig definiera dina egna uppgiftstyper genom att skapa Java-klasser som implementerar vissa gränssnitt .
Distributionen omfattar många bibliotek som påverkar en lång rad uppgifter. Dessutom finns ytterligare bibliotek tillgängliga på projektets webbplats som utökar produktens funktionalitet, till exempel för integration med tredjepartssystem. Standardversionen innehåller över 150 uppgiftstyper. Exempel på sådana kommandon visas nedan.
Koden | Handling |
---|---|
javac | kompilering av Java-kod |
kopiera | kopiera filer |
radera | radera filer och kataloger |
flytta | flytta filer och kataloger |
byta ut | ersätta textfragment i filer |
junit | automatisk körning av enhetstester |
exec | exekvering av ett externt kommando |
blixtlås | skapa ett Zip- arkiv |
cvs | exekvera CVS- kommandot |
post | skicka e- post |
xslt | Överlägg XSLT Transformers |
Det här skriptet definierar två mål, clean och build . Den första tar bort temporära filer, den andra kompilerar och skapar ett JAR- arkiv. Byggmålet beror på clean , så när det körs kommer det att städa upp först och först därefter gör de faktiska byggjobben. Bygg är också valt som standardmål. Detta innebär att det kommer att exekveras när det här skriptet bearbetas utan att uttryckligen ange ett mål.
<?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" /> <sökväg id= "libs.dir" > <fileset dir= "lib" include= "**/* .jar" /> </path> <!-- Bygg programmet --> <target name= "build" depends= "clean" description= "Bygger programmet" > <!-- Skapa kataloger --> <mkdir dir = "${build.classes}" /> <!-- Kompilera källfiler --> <javac srcdir= "${src.dir}" destdir= "${build.classes}" debug= "false" deprecation= "true" optimize= "true" > <classpath refid= "libs.dir" /> </javac> <!-- Kopiera nödvändiga filer --> <copy todir= "${build.classes}" > <fileset dir= "${src.dir}" include = "**/*.*" excludes= "** /*.java" /> </copy> <!-- Skapa JAR-fil --> <jar jarfile= "${build}/${name}.jar" > <fileset dir= "${build.classes}" /> </jar> </target > <!-- Cleanup --> <target name= "clean" description= "Tar bort alla temporära filer" > <!-- Ta bort filer --> <delete dir= "${build.classes}" /> </target > </projekt>Apache Software Foundation | |||||||
---|---|---|---|---|---|---|---|
Projekt på högsta nivå |
| ||||||
Delprojekt |
| ||||||
Apache |
| ||||||
Andra projekt | |||||||
Utveckla projekt ( inkubator ) |
| ||||||
Avvecklade projekt ( Attic ) | |||||||
|
Monteringsautomationssystem | |
---|---|