Apache Ant

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 29 maj 2014; kontroller kräver 19 redigeringar .
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.

Beskrivning

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 .

Ofta använda uppgifter (Tasks)

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

Exempelskript

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>

Anteckningar

  1. 1 2 https://projects.apache.org/json/projects/ant.json
  2. Myran med öppen källkod på Open Hub: Languages-sidan - 2006.
  3. Apache Ant™ Project News

Se även

  • Apache Maven  är ett alternativt verktyg med liknande uppgifter
  • Gradle är ett alternativt verktyg som stödjer uppgifter från ant

Länkar