如何使用<macrodef>来获取不同扩展名的文件夹中所有文件的recourcecount

时间:2018-04-11 14:58:07

标签: ant macrodef

虽然通过场景我得到的是不同扩展文件的文件夹集合我已经使用所有扩展名的资源计数如果我有3个不同的扩展文件而不是尝试获取所有文件的资源计数与扩展名不同
例如:

    <resourcecount property="firstfile">
    <fileset dir="${basedir}">
        <include name="*.xml" />
    </fileset>
</resourcecount>
<echo message="There are ${firstfile} xml in This Folder ${basedir}" />
<resourcecount property="SecondFile">
    <fileset dir="${basedir}">
        <include name="*.jar" />
    </fileset>
</resourcecount>
<echo message="There are ${SecondFile} xml in This Folder ${basedir}" />

我如何使用macrodef这个条件来帮助计算所有文件

1 个答案:

答案 0 :(得分:0)

您可以通过多种方式执行此操作,包括使用插件(例如ant-contrib)或使用ant语言扩展。但与这个简单的构建脚本相比,所有这些都是过度的:

<target name="count">
    <countresources type="xml" />
    <countresources type="java" />
    <countresources type="cpp" />
</target>

<macrodef name="countresources">
    <attribute name="type" />
    <sequential>
        <resourcecount property="@{type}.count">
            <fileset dir="${basedir}">
                <include name="*.@{type}" />
            </fileset>
        </resourcecount>
        <echo message="There are ${@{type}.count} @{type} files in folder ${basedir}" />
    </sequential>
</macrodef>

希望这会有所帮助。

相关问题