Aggiunta di attività e tipi

Quando il plug-in aggiunge attività e tipi Ant, tali elementi hanno hanno accesso a tutte le classi all'interno del plug-in in questione. Ad esempio, l'attività eclipse.refreshLocal aggiunta dal plug-in org.eclipse.core.resources funge da wrapper per il metodo IResource.refreshLocal().

Le attività e i tipi aggiunti dai plug-in non devono trovarsi in nessuna delle librerie di plug-in, bensì risiedere in un file JAR separato. Ciò significa che le classi di plug-in non hanno accesso alle attività e ai tipi forniti dal plug-in.   (Vedere Perché utilizzare un file JAR separato per le attività e i tipi?? ).

Il punto di estensione org.eclipse.ant.core.antTasks fornisce un esempio su come specificare una nuova attività nel file plugin.xml.

Controlli di avanzamento

Il supporto Ant Eclipse consente di accedere a un IProgressMonitor se ne viene trasmesso uno quando si richiama l'AntRunner. Uno dei vantaggi dell'accesso a un controllo di avanzamento consiste nel fatto che per un'attività di lunga durata è possibile verificare se l'utente ne ha richiesto la cancellazione. L'oggettocontrollo di avanzamento viene ottenuto dai riferimenti del progetto Ant.   Tenere presente che un controllo è reso disponibile solo se il metodo AntRunner.run(IProgressMonitor) è stato chiamato con un controllo di avanzamento valido. Nel frammento di codice che segue viene illustrato come ottenere un controllo di avanzamento relativo al progetto dell'attività:

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 {
		...
	}
}
}

Regole importanti per l'aggiunta di attività e tipi

Di seguito è riportato un elenco di controllo per gli sviluppatori di plug-in:

Perché utilizzare un file JAR separato per le attività e i tipi?

Esistono due requisiti per l'esecuzione di Ant in Eclipse che non si adattano molto bene al modello di plug-in:

Durante il run-time i caricatori di classi di plug-in non possono espandere i percorsi classi e i plug-in non possono modificare le proprie dipendenze. Al tempo stesso disporre di due JAR separati per le attività e i tipi rappresenta un buon isolamento dal meccanismo di caricamento delle classi dei plug-in. Quando i JAR supplementari vengono dichiarati da un plug-in, è possibile aggiungere il plug-in in questione anche al percorso classi Ant.

 

Copyright IBM Corporation e altri 2000, 2003.