Ant-koontitiedostojen ohjelmallinen ajo

Eclipse-ympäristöön kootun Ant-tuen avulla lisäosat voivat ajaa Ant-koontitiedostoja ohjelmallisesti. Tämä tapahtuu AntRunner -luokan avulla, joka sisältyy lisäosaan org.eclipse.ant.core.

Seuraava koodikatkelma on esimerkki siitä, kuinka AntRunner -luokkaa voi käyttää toisen lisäosan koodista:

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);
}

Jos tilannevalvontaohjelma on käytössä, se määritetään käynnissä olevien tehtävien käytettäväksi. Lisätietoja on kohdassa Tilannevalvontaohjelmat.

Huomaa, että vain yksi Ant-koonti voi olla käynnissä samaan aikaan, jolleivat koonnit ole käytössä eri näennäiskoneissa. Lisätietoja on kohdassa AntRunner.isBuildRunning().

Alkuperäiskirjastojen käsittely silloin, kun koonti tehdään samassa JRE-ympäristössä kuin työtila

Aina kun Ant-luontitiedosto ajetaan Eclipse-ympäristössä, luodaan uusi luokanlataustoiminto. Java-ympäristössä kirjastoa voi ladata vain yksi luokanlataustoiminto. Siksi sellaiset tehtävät, jotka käyttävät alkuperäiskirjastoja, voivat olla ongelmallisia useita koontitiedostoja ajettaessa. Jos edellistä luokanlataustoimintoa ei ole siivottu, kun uusi luokanlataustoiminto yrittää ladata alkuperäiskirjastoa, ilmenee ongelmasta kertova poikkeus ja koonti epäonnistuu. Tämän ongelman voi välttää esimerkiksi siten, että määrittää kirjastojen latausta hoitamaan lisäosakirjaston sisältämän luokan. Tehtävä voi hyödyntää kyseistä luokkaa alkuperäisiin metodeihin pääsyssä. Näin kirjaston lataa lisäosan luokanlataustoiminto eikä latauksesta koidu ristiriitoja.