2009-06-29 5 views
0

Ich brauche die Liste der Dateien, die während dieses Laufs kompiliert wurden. Ich möchte diese Liste einem nachfolgenden Nachverarbeitungsschritt zuführen.Wie kann ich Dateien, die mit der Ant-Java-Task kompiliert wurden, nachbearbeiten?

Ich habe eine option to list (siehe listfiles Option) die Dateien gefunden, die während dieses Laufs kompiliert wurden, aber es scheint nur gut für die Anzeige der Liste auf der Konsole.

Irgendeine Idee?

Bearbeiten: Ich spreche über inkrementelle Kompilierungen, so dass eine Dateigruppe des Build-Ordners keine Option ist.

Edit: Eine Idee scheint custom logger zu sein, aber ich bin noch auf der Suche nach etwas einfacher

Edit: Eine weitere Idee depend selector mit FileSet vor javac zu verwenden ist und irgendwie die Liste im Speicher zu halten, um verwendet, nachdem javac ausgeführt wurde

Antwort

2

Sie können einfach eine Dateigruppe über alle Klassen-Dateien im Zielverzeichnis des Javacs bilden.

Bearbeiten: Nach der Klärung muss ich meine Antwort anpassen. So etwas habe ich noch nicht gemacht, aber ich würde mein Glück mit selectors versuchen. Der geänderte Selektor sieht wie der gewünschte aus - eine Dateigruppe aller Klassendateien in einem Verzeichnis, die seit der letzten Ausführung geändert wurden. Hier ist ein Code-Schnipsel:

<fileset dir="${build}"> 
    <filename name="**/*.class"/> 
    <modified/> 
</fileset> 

Es ist nicht direkt nach dem Prozess der Ausgabe der javac-Aufgabe, aber soll Ihr Problem lösen.

+0

Entschuldigung dafür, dass ich nicht klar bin, aber ich spreche von inkrementellen Kompilierungen, wobei JavaC nur solche .java-Dateien kompiliert, die neuer sind als ihre kompilierte .class-Datei –

+0

Ich habe meine Antwort angepasst. Ich hoffe das hilft. – Mnementh