2009-01-09 7 views
17

Tut mir leid, ich bin nicht sehr erfahren mit Ant.Eclipse, ant und benutzerdefinierte Aufgaben

Ich mag die Eclipse "Export Ameisen buildfile" -Funktion, aber ich muss ein paar benutzerdefinierte Aufgaben einfügen (Kopieren von Dateien, Berechnen von Prüfsummen, die zur Laufzeit verwendet werden, usw.).

Wie integriere ich benutzerdefinierte Ant-Aufgaben mit der Ant-Datei, die Eclipse exportiert? Sobald ich das getan habe, wird das interne Build (Run ...) es aufnehmen oder muss ich von nun an immer die externe Ameisen-Datei benutzen?

Oh, und ich möchte nicht die build.xml bearbeiten, die aus Eclipse exportiert wird, denn ich möchte es später neu erstellen können.

Bearbeiten/Update:

Es dauerte eine Weile, um herauszufinden, was los war - so dass ich dachte, dass ich hier ein paar Notizen zu klären setzen würde.

Wenn Sie eine neue Ant-Datei in Ihrem Verzeichnis erstellen und <?eclipse.ant.import ?> in die erste Zeile Ihres benutzerdefinierten Ant-Skripts setzen (ich nannte meine test.xml), wird das nächste Mal, wenn Sie die Builddatei aus Eclipse in dieses Verzeichnis exportieren siehe das Tag und fügen Sie <import file="test.xml"/>

Mit diesem Import, die Ziele in Ihrem „Custom“ Datei (test.xml) werden gültige Ziele in der exportierten build.xml (oder was auch immer Namen, den Sie gewählt haben, als Sie es exportiert).

Danach, wann immer Sie wählen „build.xml“ in Eclipse, wird die Zielscheibe sind Ziele von „test.xml“

Auch danach können Sie Ihre Projekteigenschaften/Builders gehen und Fügen Sie einen neuen Builder vom Typ "Ant Build" hinzu und wählen Sie dann Ziele zum Erstellen, Reinigen usw. aus.

+2

ich das auf Eclipse versucht haben, 3.4.1 und herausgefunden, dass meine benutzerdefinierte Build-Datei nur enthalten war, wenn sein Name mit Build gestartet. Zum Beispiel wurde build-custom.xml korrekt importiert, aber custom_build.xml wurde ignoriert ... Vielleicht hilft das ... –

+0

Das gleiche gilt für mich, ich benutze Eclipse 3.5.2 unter Ubuntu und musste meine Datei umbenennen build-custom.xml statt custom-build.xml – Marthinus

+0

Danke Leute .. jetzt funktioniert es auch hier. – Bjoern

Antwort

13

Die Ameise Exportfilter wird jede XML-Datei im selben Verzeichnis enthalten, die die speziellen

<?eclipse.ant.import?> 

Element als erstes Kind.

Beispiel:

<?xml version="1.0" encoding="UTF-8"?> 
<?eclipse.ant.import?> 
<project name="project" default="default" basedir="."> 
    ... 
</project> 

Eclipse nun auch die folgende Zeile in build.xml:

<import file="custom_build.xml"/> 
+0

Geocities ist weg, also finde das Beispiel [hier] (http://timealias.bplaced.net/eclipse2ant/doc/build-user.xml) und die Seite [hier] (http://timealias.bplaced.net/ eclipse2ant /) –

+4

@Derek alle Beispiele sind weg, kannst du bitte die Beispiele nochmal einbeziehen? –

+0

@JesperE Welche Werte sollten dem Namen und dem Standardwert zugewiesen werden? Außerdem möchte ich, dass dieses Ziel (z. B. targetA) von einem anderen Ziel (z. B. targetB) abhängt, das in der Hauptdatei build.xml definiert ist. Eclipse zeigt jedoch einen Fehler an, der besagt, dass targetB in diesem Projekt nicht vorhanden ist. – bikashg

2

Wenn Sie Ihr eigenes Ant-Skript schreiben, können Sie Ihre eigenen Ziele schreiben, die Ant task verwenden, um an das generierte zu delegieren build.xml.

Sie können auch die Builder (Projekteigenschaften »Builders) eines Projekts so konfigurieren, dass beim manuellen oder automatischen Erstellen des Projekts ein anderer Vorgang ausgeführt wird.

0

Sie können eine separate Ant-Build-Datei für diese Aufgaben haben. Das ist alles was du brauchst.

0

PDE hat die Unterstützung für benutzerdefinierte Rückrufe aus der erzeugten build.xml in Ihre eigene benutzerdefinierte ant Skript.

Kopieren Sie die Datei "templates/plugins/customBuildCallbacks.xml" aus der Datei org.eclipse.pde.build in Ihrer Eclipse-Installation und setzen Sie "customBuildCallbacks = true" in Ihrer Datei build.properties.

Siehe auch die Eclipse help page