build.xml
ファイルで次のコードブロックを使用する
<propertyfile file="default.properties" comment="Default properties">
<entry key="source.dir" value="1" />
<entry key="dir.publish" value="1" />
<entry key="dir.publish.html" value="1" />
</propertyfile>
次のファイルの内容でdefault.properties
ファイルを生成できます
source.dir=1
dir.publish=1
dir.publish.html=1
生成されたファイルにコメントを追加する方法を知りたいですか?例えば。生成されたプロパティには次のコンテンツが含まれている必要があります。
# Default Configuration
source.dir=1
dir.publish=1
# Source Configuration
dir.publish.html=1
Antのbuild.xml
を使用して動的に行うにはどうすればよいですか?
複数のコメントを含むプロパティファイルの作成はサポートされていません。どうして ?
PropertyFile.Java
public class PropertyFile extends Task {
/* ========================================================================
*
* Instance variables.
*/
// Use this to prepend a message to the properties file
private String comment;
private Properties properties;
Antプロパティファイルタスクは、 store() メソッドを使用してコメントを保存するJava.util.Properties
クラスによってサポートされます。タスクからコメントが1つだけ取得され、Properties
クラスに渡されてファイルに保存されます。
これを回避する方法は、Java.util.Properties
の代わりに commons properties を使用して独自のタスクを作成することです。コモンズプロパティファイルは、プロパティファイルで 個々のキーの設定コメント を許可する プロパティレイアウト によってサポートされています。 save() メソッドを使用してプロパティファイルを保存し、<comment>
要素を介して複数のコメントを受け入れるように新しいタスクを変更します。
プロパティファイルタスクは、編集プロパティファイル用です。エントリを変更できるあらゆる種類の素晴らしい機能が含まれています。例えば:
<propertyfile file="build.properties">
<entry key="build_number"
type="int"
operation="+"
value="1"/>
</propertyfile>
build_number
を1つ増やしました。値が何であるかはわかりませんが、以前よりも1つ大きくなりました。
<echo>
の代わりに<propertyfile>
タスクを使用して、プロパティファイルを作成します。コンテンツを簡単にレイアウトし、<propertyfile>
を使用して後でそのコンテンツを編集できます。例:
<echo file="build.properties">
# Default Configuration
source.dir=1
dir.publish=1
# Source Configuration
dir.publish.html=1
</echo>
例:
<propertyfile file="default.properties"
comment="Default Configuration">
<entry key="source.dir" value="1"/>
<entry key="dir.publish" value="1"/>
<propertyfile>
<propertyfile file="source.properties"
comment="Source Configuration">
<entry key="dir.publish.html" value="1"/>
<propertyfile>
<concat destfile="build.properties">
<fileset dir="${basedir}">
<include name="default.properties"/>
<include name="source.properties"/>
</fileset>
</concat>
<delete>
<fileset dir="${basedir}">
<include name="default.properties"/>
<include name="source.properties"/>
</fileset>
</delete>
PropertyFile
タスクの documentation に従って、生成されたプロパティを既存のファイルに追加できます。コメント行だけのプロパティファイルを作成し、Antタスクに生成されたプロパティを追加させることができます。