Při přispívání úlohami a typy Ant modulem plug-in mají úlohy a typy přístup ke všem třídám uvnitř přispívajícího modulu plug-in. Např. úloha eclipse.refreshLocal přispěná modulem plug-in org.eclipse.core.resources slouží jako obal pro metodu IResource.refreshLocal().
Úlohy a typy přispěné moduly plug-in nesmí být umístěny v žádné knihovně modulu plug-in. Musí se nacházet v samostatném souboru JAR. To znamená, že třídy modulů plug-in nemají přístup k úlohám a typům poskytovaným modulem plug-in. (Další informace viz Proč samostatný soubor JAR pro úlohy a typy? .)
Bod rozšíření org.eclipse.ant.core.antTasks poskytuje příklad způsobu zadání nové úlohy v souboru plugin.xml.
Prostředí Eclipse Ant poskytuje přístup k funkci IProgressMonitor, jestliže je předána při vyvolání nástroje AntRunner. Jedna z výhod přístupu k monitoru průběhu je, že dlouhodobá úloha může kontrolovat, zda uživatel požaduje její zrušení. Objekt monitoru průběhu je získáván z odkazů projektu Ant. Vezměte na vědomí, že monitor je zpřístupněn pouze, pokud byla metoda AntRunner.run(IProgressMonitor) zavolána pomocí platného monitoru průběhu. Následující úsek kódu zobrazuje, jak je možné získat monitor průběhu z projektu úlohy:
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 { ... } } }
Následující informace by měly sloužit jako kontrolní seznam pro vývojáře modulů plug-in:
V podstatě existují dva požadavky pro spuštění prostředí Ant na platformě Eclipse, které modelu modulu plug-in příliš neodpovídají:
Během doby provádění nemohou mít zaváděče tříd rozbaleny cesty ke třídám a moduly plug-in nemohou měnit své závislosti. Současně samostatné soubory JAR slouží jako vhodná izolace od mechanizmu načítání tříd modulu plug-in. Tyto samostatné soubory JAR deklarované modulem plug-in také umožňují přidání přispívajícího modulu plug-in do cesty ke třídě Ant.