tanaka's Programming Memo

プログラミングについてのメモ。

ターゲットに応じてプログラムの一部を変更する

サーバのURLや、環境毎の設定を手でやると変更忘れの恐れがあるので、Antで自動化する。

方法

Antのreplaceコマンドを利用する

今回使用したreplaceの基本形

<replace file="対象のファイル">
    <replacefilter token="置換元文字列1" value="置換先文字列1" />
    <replacefilter token="置換元文字列2" value="置換先文字列2" />
</replace>

方法

  • 書き換えたいプログラムの場所に、以下のような目印を記述しておく。
// @DEBUG@
  • Ant用のbuild.xml内の、サーバへのアップロードやコピー前に、replaceを使って置換を行う。
  • アップロードやコピー後、元に戻しておくために、上記の逆の変換を行う。

<?xml version="1.0" encoding="UTF-8"?>
<project name="Sample" default="sampletarget">
    <target name="sampletarget">
        <replace file="replaceTest.js">
            <replacefilter
                token="// @DEBUG@"
                value="DEBUG = true;" />
        </replace>

        <copy todir="targetFolder" overwrite="true">
            <fileset dir=".">
            </fileset>
        </copy>

        <replace file="lib/sampoConfig.js">
            <replacefilter
                value="// @DEBUG@"
                token="DEBUG = true;" />
        </replace>

    </target>
</project>