Den innebygde Ant-støtten i Eclipse gjør det mulig for plugin-moduler å kjøre Ant-byggefiler ved hjelp av et program. Dette gjøres via klassen AntRunner i plugin-modulen org.eclipse.ant.core.
Følgende kodesnutt er et eksempel på hvordan AntRunner kan brukes fra koden til en annen plugin-modul:
import org.eclipse.ant.core.AntRunner; import org.eclipse.core.runtime.IProgressMonitor; ... public void runBuild() { IProgressMonitor monitor = ... AntRunner runner = new AntRunner(); runner.setBuildFileLocation("c:/buildfiles/build.xml"); runner.setArguments("-Dmessage=Building -verbose"); runner.run(monitor); }
Ved bruk av fremdriftsovervåking gjøres dette tilgjengelig for oppgavene som kjører. Du finner mer informasjon under Fremdriftsovervåking.
Merk at Ant-bygging bare kan utføres på et gitt tidspunkt hvis byggingen ikke utføres i separate VMer. Se AntRunner.isBuildRunning();
Hver gang en Ant-byggefil kjører i Eclipse, opprettes en ny klasselaster. Siden et bibliotek bare kan lastes inn av en klasselaster i Java, kan det oppstå problemer for oppgaver som bruker interne biblioteker, når byggefilen kjøres flere ganger. Hvis den forrige klasselasteren ikke er samlet inn som dataavfall når den nye klasselasteren forsøker å laste inn det interne biblioteket, oppstår et unntak som angir problemet, og byggingen mislykkes. Dette problemet kan unngås ved at innlastingen av biblioteket håndteres av en klasse i et plugin-bibliotek. Oppgaven kan bruke denne klassen for å få tilgang til interne metoder. På denne måten lastes biblioteket inn ved hjelp av plugin-klasselasteren og det oppstår ikke problemer med innlastingen.