作为自定义蚂蚁构建的一部分,我正在玩弄我想要构建
<replaceregexp>
我一直在浏览蚂蚁文档 http://ant.apache.org/manual/index.html
但我没有看到任何可以帮助我迭代或列出文件的内容。
答案 0 :(得分:1)
您可能希望首先通过处理包含.js文件的目录来生成替换文本。
一种方法可能是使用fileset
来收集文件的名称,然后使用pathconvert
任务来构建html代码段以使用替换文本。对于目录“my_dir”,例如:
<fileset id="dir.contents" dir="my_dir">
<include name="*.js"/>
</fileset>
<pathconvert pathsep="${line.separator}" property="js.html" refid="dir.contents">
<chainedmapper>
<mapper type="flatten" />
<regexpmapper from="(.*)"
to='<script type="text/javascript" src="http://your.url/\1"></script>' />
</chainedmapper>
</pathconvert>
<echo>${js.html}</echo>
flatten
删除文件路径的目录部分,只留下文件名。
然后回声产生类似于:
[echo] <script type="text/javascript" src="http://your.url/a.js"></script>
[echo] <script type="text/javascript" src="http://your.url/b.js"></script>
[echo] <script type="text/javascript" src="http://your.url/c.js"></script>
因此,您可以使用${js.html}
作为正则表达式替换文本。
答案 1 :(得分:0)
replaceregexp任务支持嵌套的fileset元素。 任务文档中的示例
<replaceregexp match="\s+" replace=" " flags="g" byline="true">
<fileset dir="${html.dir}" includes="**/*.html"/>
</replaceregexp>
在http://ant.apache.org/manual/Tasks/replaceregexp.html
这是你在找什么?