Ant 用动态内容替换文件中的正则表达式匹配项
我有一个类似以下内容的文件:Ant 用动态内容替换文件中的正则表达式匹配项,ant,Ant,我有一个类似以下内容的文件: // run script Y #include ./relativePath/to/script.y // run script Z #include ./relativePath/to/script/z.z // etc. 我想让ANT做的是,获取这个文件,并用#include'directive'指向的文件的实际内容替换所有include,相对于文件本身。我正在搜索replaceregexp,但没有得到多少乐趣 有人能告诉我往哪个方向看吗 TIA您的语法
// run script Y
#include ./relativePath/to/script.y
// run script Z
#include ./relativePath/to/script/z.z
// etc.
我想让ANT做的是,获取这个文件,并用#include
'directive'指向的文件的实际内容替换所有include,相对于文件本身。我正在搜索replaceregexp
,但没有得到多少乐趣
有人能告诉我往哪个方向看吗
TIA您的语法非常接近C预处理器。将文件名放在引号中是否是一种解决方案,例如:
#include "./relativePath/to/script.y"
要在cpp中为您提供文件,请执行以下操作:
cpp -o output inputfile
我没有找到一个完美的方法。然而,我确实提出了一个符合我需要的解决方案 我没有从单个源文件开始,试图找出要替换的文件,而是循环遍历我知道可能包含的文件,用它们的文件内容替换它们的“包含”实例 比如:
<target name="fubar">
...
<foreach target="injectFile" inheritall="true" param="include.file">
<fileset dir="${src.dir}" casesensitive="yes" />
</foreach>
</target>
<target name="injectFile">
... code that works out relative path of include file here ...
<loadfile property="include.file.content" srcFile="${include.file}" />
<replace file = "${build.file}"
token = "#include ${include.file.relative.path}"
value = "${include.file.content}" />
</target>
...
... 在此计算包含文件的相对路径的代码。。。
不幸的是,C没有什么问题;)。只想创建一个文件,该文件可用于创建一组其他文件的单个串联输出,并具有指定的顺序。谢谢你的建议。利用ant contrib。