2009-05-21 12 views
2

Ich versuche, meinen Build mit einer Konfigurationsdatei mit Ant anzupassen. Was ich beabsichtige zu tun ist, dass Konfigurationsdatei verwenden, die das folgende Muster hat: Dateipfad, Muster, Muster zu ersetzenAmeise mit Build-Konfigurationsdateien verwenden

Ich will es so, dass ich nur Dinge zur Konfigurationsdatei hinzufügen und die Ameisen Build-Skript liest up diese Werte und führt die erforderlichen Änderungen durch.

Ich weiß bereits, wie man einen Regex findet und in Dateien ersetzt. Nach was ich suche, ist eine Weise, die Werte von solch einer configration Akte zu lesen.

Antwort

1

Es gibt verschiedene Möglichkeiten, Informationen aus einer Datei in Ant zu lesen.

Die generische ist die LoadFile Ant Task. Ich würde jedoch die loadProperties Task empfehlen. Sie könnten diese Aufgabe verwenden, um Eigenschaften wie zum Beispiel: toReplace = string_to_replace mit = ersatzzeichenfolge zu lesen und dann die Eigenschaften "toReplace" und "with" in Ihren Regexes zu verwenden.

+1

Aber würde dies nicht in unveränderlichen Variablen zu ersetzen und mit? Ich möchte die Datei durchlaufen und alle Änderungen vornehmen. – Prashast

+2

Sie haben absolut Recht, sorry. Ich bin mir eigentlich nicht sicher, ob ich das machen könnte, ich bin mir sicher, dass die Erfahreneren in Ant einen "Gegen-Weg" haben würden, dies zu tun. Das Einzige, was ich vorschlagen kann, ist einen Blick auf die Aufgabe von ant contrib zu werfen - es könnte sich als hilfreich erweisen. –

0

Wenn ich Sie richtig verstehe, möchten Sie eine Reihe von Konfigurationsdateien für verschiedene Umgebungen erstellen.

Die Lösung, die ich derzeit verwende, ist ein Groovy-Skript, das von einer Ant-Task aufgerufen wird. Da Ant es nicht erlaubt, eine Eigenschaft, die bereits gesetzt wurde, neu zu definieren, ist es ziemlich schwierig, mehrere Dateien mit unterschiedlichen Werten zu erzeugen.

Wenn Sie dies erkunden möchten, werfen Sie einen Blick auf Groovy und vor allem die Template Engine.

1

Ich würde die Filterset-Funktion in Ant verwenden. Sie können eine parametrisierte Version der Konfigurationsdatei mit Zeichenfolgen erstellen, die Sie ersetzen möchten, indem Sie das Muster @ replace_me @ verwenden. Definieren Sie anschließend eine Eigenschaftendatei, um die Ersatzwerte zu definieren. Sie können

<copy toDir="${dist.dir}/docs"> 
    <fileset file="config.xml"/> 
    <filterset> 
    <filtersfile file="path/to.properties"/> 
    </filterset> 
</copy> 

Dann ist die Eigenschaftendatei einfach Name = Wert Zeilen.

Sie können sowohl die Dateigruppe als auch den Filtersatz flexibel angeben. Informationen hierzu finden Sie in den Ant-Dokumenten.

Verwandte Themen