2009-05-21 10 views
2

antで構成ファイルを使用してビルドをカスタマイズしようとしています。私がするつもりは、以下のパターンを持つ設定ファイルを使用することです: ファイルパス、パターンと置き換えるパターン、置き換えるパターンビルド構成ファイルでのantの使用

私は設定ファイルに物事を追加してビルドスクリプトこれらの値をアップし、必要な変更を加えます。

私はすでにファイル内で正規表現の検索と置換を行う方法を知っています。私が探しているのは、そのような設定ファイルから値を読み取る方法です。

答えて

1

Antのファイルから情報を読み取る方法はいろいろあります。

一般的なものはLoadFile Ant Taskです。しかし、私はloadProperties Taskをお勧めします。このタスクを使用して、次のようなプロパティを読み取ることができます。 toReplace = string_to_replace with = replacement_stringそして正規表現でプロパティ "toReplace"と "with"を使用します。

+1

しかし、この結果、不変の変数toReplaceおよびwithReplaceは発生しませんか?私はファイルをループしてすべての変更を行いたい。 – Prashast

+2

あなたは絶対に正しいです、ごめんなさい。私は実際にこれを行う良い方法は確かではありません、私は、Antでより経験豊富な人は、これを行うの "アリツー"を持っていると確信しています。私が示唆できるのは、ant contribのタスクを見てみることです。それは役に立つかもしれません。 –

0

私が正しく理解していれば、さまざまな環境用の設定ファイルのセットを生成する必要があります。

私が現在使用している解決策は、Antタスクによって呼び出されるGroovyスクリプトです。 Antはすでに設定されているプロパティを再定義することはできませんので、異なる値を持つ複数のファイルを生成するのは非常に難しいことです。

これを調べたい場合は、Groovyと特にTemplate Engineをご覧ください。

1

私はアリにフィルタセット機能を使用します。設定ファイルのパラメータ化されたバージョンを作成するには、@ replace_me @パターンを使用して置き換える文字列を指定します。次に、置換値を定義するプロパティー・ファイルを定義します。

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

次に、プロパティファイルは単純にname = value linesです。

ファイルセットとフィルタセットの両方を柔軟に指定できます。これらのAntドキュメントを参照してください。

関連する問題