home  |  suche  |  kontakt/johner  |  institut 
studierende  |  tech-docs  |  mindmailer 

Eigener ANT-Task

Ant beinhaltet eine große Menge bereits vordefinierter Tasks. Möchte man eigenen ANT-Task erstellen, geht man wie folgt vor:

  1. Java-Klasse schreiben, die von org.apache.tools.ant.Task erbt und die Methode execute() implementiert.
  2. Möchte man den Task im Build-Skript parametrisieren, d.h. dem Task Werte übergeben, so fügt man entsprechende Attribute mit gettern/settern hinzu, welche der JavaBean Namenskonvention genügen. Das Attribut "nachricht" bräuchte also die Methoden getNachricht() und setNachricht().
  3. In der build.xml Datei muss der Task über <taskdef name="MeinTaskName"> bekannt gemacht werden und kann dann unter <MeinTaskName> wie jeder andere Task verwendet werden.

Folgendes Beispiel illustriert dies und wird in der exemplarischen Build-Datei verwendet.

 

package anttask;

import org.apache.tools.ant.Task;


public class SimpleTask extends Task {
    private String nachricht;
    private int number;

  public void execute() {
        // Access to global project properties (defined in build.xml)
        String projektname = getProject().getProperty("ant.project.name");

        // Predefined methods: log and getLocation()
        log("Ich bin das projekt '" + projektname + "' mit der Lokation " + getLocation());
        
        log("Ich bekam die Nachricht " + nachricht + " und die Nummer " + number);

    }
    
    /**
     * the parameter is set in the build file via the attribute "message"
     @param msg
     */
  public void setMessage(String msg) {
      nachricht = msg;
    }
  
  //also works with numbers
  public void setNumber(int nr) {
    number = nr;
  }
}