【发布时间】:2012-02-20 15:12:57
【问题描述】:
稍后在我的构建文件中引用 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,但我非常希望在我的构建文件中只保存一次文件列表。
我怎样才能做到这一点?
【问题讨论】:
-
patternset(ant.apache.org/manual/Types/patternset.html) 可以帮助您创建具有不同“顶级目录”的多个文件集。
标签: ant build directory copy filelist