日々精進

新しく学んだことを書き留めていきます

Antでビルド時にコマンドライン引数を受け取って文字列置換する

なぜ今更Antでビルドしないといけないのか。。と思いつつ。 以下のようにpropertyタグを定義し、ant -Dserver_type=“test” のようにして文字列を渡す。 replacefilterタグでテンプレートの文字列を置換できる。

<project name="SimpleAnt" default="compile">
    <property name="server_type" />
    <target name="create.conf">
      <copy file="src/main/resources/logback.xml.template" tofile="src/main/resources/logback.xml" overwrite="true" />
      <replace file="src/main/resources/logback.xml" encoding="UTF-8">
        <replacefilter token="@SERVER_TYPE@" value="${server_type}"/>
      </replace>
    </target>
</project>

参考:

qiita.com

blogs.yahoo.co.jp