作为我正在玩的自定义蚂蚁构建的一部分,我想拥有构建
- 对 html 文档执行
<replaceregexp>
- 对于正则表达式上的"替换",我想迭代一个包含.js文件的目录,并注入一个标签来指向每个文件。
我一直在浏览蚂蚁文档http://ant.apache.org/manual/index.html
但我还没有看到任何可以帮助我迭代或列出文件的东西。
您可能希望通过处理包含.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}
作为正则表达式替换文本。
替换正则表达式任务支持嵌套的文件集元素。任务文档中的示例
<replaceregexp match="s+" replace=" " flags="g" byline="true">
<fileset dir="${html.dir}" includes="**/*.html"/>
</replaceregexp>
在 http://ant.apache.org/manual/Tasks/replaceregexp.html
这是你要找的吗?