© Lars-Erik Kindblad
Et platformuavhengig verktøy for å automatisere build prosesser. Støttes og drives av Apache Software Foundation. Kommer ferdig installert med bl.a. NetBeans og Eclipse, kan ellers lastes ned fra
Build prosess = oppgaver som utføres når kode skal kompileres og evnt. releases. Noen oppgaver som ofte utføres manuelt: Kompilere koden Kjøre unit tester Generere javadoc dokumentasjon Lage deployment filer Kopiere filer til server Med Ant kan disse oppgavene automatiseres til en enkel prosess – et klikk/en kommando.
Kjernen i Ant er build.xml som inneholder de oppgavene som skal utføres. Filen er bygget opp av følgende XML-elementer: project properties targets tasks build.xml kjøres med kommandoen ant, eller i NetBeans: Høyreklikk på build.xml > Run Target > Other Targets >
Er rot elementet i dokumentet. Navnet på prosjektet som atributt. Eventuelt default target som atributt.
Mulighet for å definere en eller flere verdier (name, value) som kan gjenbrukes flere steder – forhindrer hardkoding.
Gruppering av en eller flere tasks. En target kan være avhengig av andre targets – markeres med depends atributten.
En task = en oppgave som skal utføres. Et utvalg av task typer som finnes: echo – skriver ut en tekst mkdir – oppretter en katalog på disken delete – sletter en katalog copy – kopier en fil eller katalog til en annen katalog javac – kompilerer den definerte java koden java – starter et java program junit – kjører unit tester javadoc – generer dokumentasjon fra kommentarer i java koden jar – pakker java klassene inn i en jar-fil Det er også mulig å lage egne task typer.
Vi skal implementere følgende targets: clean – slette- og opprette katalogen build compile – kompilere program- og test koden jar – lage en jar fil av klassene test – kjøre unit test koden javadoc – generere dokumentasjon fra koden run – kjøre programmet all-except-run – kjøre alle over bortsett fra run
XML:
Resultat:
XML: Resultat:
XML: Resultat:
XML: Resultat:
XML: Resultat:
XML: Resultat:
XML: Resultat:
For: Åpen kildekode XML-basert Automatiserer manuelle prosesser = sparer mye tid og forhindrer problemer pga. brukerfeil i store utviklingsteam. Imot: Enda en teknologi å forholde seg til.
NAnt (Not Ant) – for.NET