Feladatok és típusok közzététele

Ha a bedolgozó Ant feladatokat és típusokat ad közre, akkor a feladatok és típusok hozzáférhetnek a közreműködő bedolgozó összes osztályához. Az org.eclipse.core.resources bedolgozó által közreadott eclipse.refreshLocal feladat tördelő a IResource.refreshLocal() metódushoz.

A bedolgozók által közreadott feladatok és típusok nem helyezhetők a bedolgozó-függvénytárakba. Ezeknek külön JAR fájlban kell lenniük. Ez azt jelenti, hogy a bedolgozóosztályok nem férhetnek hozzá a bedolgozó által biztosított feladatokhoz és típusokhoz.  (További információkért tekintse meg a Miért érdemes külön JAR fájl használni a feladatokhoz és típusokhoz? részt.)

Az org.eclipse.ant.core.antTasks kiterjesztési pont egy példát biztosít arra, hogy hogyan adható meg új feladat a plugin.xml fájlban.

Folyamatfigyelők

Az Eclipse Ant támogatás IProgressMonitor hozzáférést biztosít, ha átadásra kerül az AntRunner meghívásakor. A folyamatfigyelő elérésének egyik előnye, hogy a hosszútávú feladat ellenőrizheti, hogy a felhasználó kérte-e a törlést. A folyamatfigyelő-objektum az Ant projekt hivatkozásairól kérhető le.  Ne feledje el, hogy a figyelő csak akkor áll rendelkezésre, ha az AntRunner.run(IProgressMonitor) metódus egy érvényes folyamatfigyelővel került meghívásra.Az alábbi kódrészlet megjeleníti, hogy a folyamatfigyelő hogyan kérhető le a feladat projektjéből:

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.eclipse.ant.core.AntCorePlugin;
import org.eclipse.core.runtime.IProgressMonitor;

public class CoolTask extends Task {

public void execute() throws BuildException {
	IProgressMonitor monitor = 
		(IProgressMonitor) getProject().getReferences().get(AntCorePlugin.ECLIPSE_PROGRESS_MONITOR);
	if (monitor == null) {
		...
	} else {
		...
	}
}
}

Fontos szabályok a feladatok és típusok közreadásakor

Az alábbiaknak a bedolgozófejlesztők ellenőrzőlistájaként kell működniük:

Miért van külön JAR a feladatokhoz és típusokhoz?

Alapvetően két követelménye van az Ant Eclipse-ben futtatásának, amely nem felel meg a bedolgozómodellnek:

A futási bedolgozó osztálybetöltők osztályútvonala nem terjeszthető ki és a bedolgozók nem módosíthatják a függőségeket. Ugyanakkor külön JAR fájlok alkalmazása a feladatokhoz és típusokhoz jó elkülönítés a bedolgozó osztálybetöltési mechanizmusától. A bedolgozó által deklarált extra JAR fájlok lehetővé teszik a közreműködő bedolgozó Ant osztályútvonalhoz adását.