0

FileList後でビルドファイルで参照するときに、のベースディレクトリを変更したいと思います。

私は次のように定義しますFileList

<filelist dir="./dev" id="sourceFiles">
    <file name="files/file.php" />
    <file name="files/class.php" />
    <file name="files/functions.php" />
</filelist>

そして私の目標は次のとおりです

<target name="fetch">
    <copy todir="./src/files">
        <filelist refid="sourceFiles" />
    </copy>
</target>

<target name="build" depends="fetch">
    <replaceregexp match="(\d+.\d+.\d+)(.\d+)?" replace="\1.${build.number}">
        <filelist refid="sourceFiles" />
    </replaceregexp>
</target>

したがって、replaceregexpタスクを使用するときは、./dev-にあるファイルを使用しますが、以前にコピーした、現在はにあるファイルでタスクを置き換えたいと思います./src

もちろん、ファイルリストをコピーして別のファイルを使用することもできますがdir、ビルドファイルにファイルのリストを1回だけ保持したいと思います。

どうすればこれを達成できますか?

4

1 に答える 1

0

あなたが探しているのは、次のようにコピーコマンド内のマッパーだと思います。

<project name="demo" default="copy">

    <property name="build.number" value="1.0.1"/>

    <target name="copy">
        <copy todir="build">
            <fileset dir="src"/>
            <regexpmapper from="^(.*)\.txt$" to="\1.${build.number}"/>
        </copy>
    </target>

    <target name="clean">
        <delete dir="build"/>
    </target>

</project>

これが私のテストファイルです

|-- build
|   `-- files
|       |-- one
|       |   |-- file1.1.0.1
|       |   `-- file2.1.0.1
|       `-- two
|           `-- file3.1.0.1
|-- build.xml
`-- src
    `-- files
        |-- one
        |   |-- file1.txt
        |   `-- file2.txt
        `-- two
            `-- file3.txt
于 2012-02-20T20:53:23.473 に答える