作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用下面 macrodef 中的文件集。
我想把属性jar改成dir,这样dir中的所有jar文件都可以处理。
<macrodef name="unjartemp">
<attribute name="jar" />
<sequential>
<!-- Remove any existing signatures from a JAR file. -->
<tempfile prefix="unjar-"
destdir="${java.io.tmpdir}" property="temp.file" />
<echo message="Removing signatures from JAR: @{jar}" />
<mkdir dir="${temp.file}" />
<unjar src="@{jar}" dest="${temp.file}" />
<delete file="@{jar}" failonerror="true" />
</sequential>
</macrodef>
最佳答案
为了保持灵 active ,您可以将 macrodef 与嵌套元素属性一起用于 1-n 文件集,f.e.
以 xml 格式为嵌套文件集创建目录列表的宏定义:
<macrodef name="dir2xml">
<attribute name="file"
description="xmlfile for filelisting"/>
<attribute name="roottag"
description="xml root tag"/>
<attribute name="entrytag"
description="xml tag for entry"/>
<element name="fs"
description="nested filesets for listing"/>
<sequential>
<pathconvert
property="files.xml"
dirsep="/"
pathsep="</@{entrytag}>${line.separator} <@{entrytag}>"
>
<!-- 1-n nested fileset(s) -->
<fs/>
</pathconvert>
<!-- create xmlfile -->
<echo message="<@{roottag}>${line.separator} <@{entrytag}>${files.xml}</@{entrytag}>${line.separator}</@{roottag}>" file="@{file}"/>
</sequential>
</macrodef>
用法:
<dir2xml file="filelistant.xml" entrytag="antfile" roottag="antfilelist">
<fs>
<fileset dir="." includes="**/*.xml"/>
<fileset dir="../ant_xml" includes="**/*.xml"/>
</fs>
</dir2xml>
关于ant - 如何在 ant macrodef 中使用文件集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18009637/
我是一名优秀的程序员,十分优秀!