ビルド後、クライアントに新しいアプリをダウンロードするように指示するHTMLファイルを変更する必要があります。
トークンを検索します。リンクとトークンに置き換えます。
<replace file="index.html" >
<!-- this searches for literal text ${MyTOKEN} -->
<!-- does not "expand" ${MyTOKEN} before searching -->
<replacetoken>${MyTOKEN}</replacetoken>
<replacevalue>"some link" <br> ${MyTOKEN}</replacevalue>
</replace>
replacetoken
andreplacevalue
タグはテキストをリテラルとして受け取るため、このコードをテンプレートビルドスクリプトに移動することはできませんexpandproperties
。私のバージョンのANTにはありません。
"some link"
プロパティを使用してとの値を定義したいと思いMyTOKEN
ます。
でプロパティを"some link"
使用するための回避策は、を使用してfilterchain
、置換後にファイルをコピーすることです。
<copy file="index.html" tofile="index2.html" >
<filterchain>
<!-- this converts the ${xxx} properties into their values -->
<expandproperties />
</filterchain>
</copy>
ただし、これは実行後に機能します。つまり、値をビルドスクリプトに直接replace
ハードコーディングする必要があります。MyTOKEN
- ビルドスクリプトの外部でトークンを定義し、ビルドスクリプト内でそれを参照したいと思います。
- それ、どうやったら出来るの?
更新:、、およびを使用して独自のreplace
タスクを作成する必要がありますか?私はその方法を正しく理解していませんが、それは方法のように見えます。copy
filterreader
filterchain
受け入れられた回答を拡張して更新:複数行にまたがる値が必要だったため、元々<replacetoken>
&メソッドを使用していました。<replacevalue>
token
&を使用してvalue
、改行する方法を見つけることができませんでした。
改行を入れるための解決策は、改行${line.separator}
として使用することです。エコータスクのドキュメントを参照してください。
補足として、ここにいくつかのより有用な(トピック外の)ANTプロパティのページがあります:組み込みのAntプロパティ。