【问题标题】:ant : apply executable when output file doesn't existant : 当输出文件不存在时应用可执行文件
【发布时间】:2013-10-22 08:25:17
【问题描述】:

我尝试创建一个 ant 目标来处理来自输入目录的一些 GLSL 着色器,并将它们输出到另一个文件夹中。如果输出文件已经存在,我想避免处理。

我使用的可执行文件可以采用输出目录参数,也可以直接采用输出文件路径。

目前,我有:

<target name="optimize_programs">
    <apply executable="TOOLS/glsl_processor" dir="." verbose="true" >
        <srcfile/>
        <arg value="-output_directory=OUTPUT/PROGRAMS/" />
        <fileset dir="INPUT/PROGRAMS/OPENGLES2" includes="**/*.glfx" />
        <flattenmapper />
    </apply>
</target>

着色器被正确处理,但问题是它们每次都被处理,即使输出文件已经存在。

我怀疑这是因为 flattenmapper 不知道 glsl_processor 输出。

我试图告诉 glsl_processor 将文件输出到哪里:

<target name="optimize_programs">
    <apply executable="TOOLS/glsl_processor" dir="." verbose="true" >
        <srcfile/>
        <targetfile/>
        <fileset dir="INPUT/PROGRAMS/OPENGLES2" includes="**/*.glfx" />
        <flattenmapper />
    </apply>
</target>

但我不知道如何让 targetfile 指向输出文件夹。

有什么想法吗?

谢谢!

【问题讨论】:

    标签: ant


    【解决方案1】:

    答案其实很简单:

    <target name="optimize_programs">
        <apply executable="TOOLS/glsl_processor" dir="INPUT/PROGRAMS/OPENGLES2/" dest="OUTPUT/PROGRAMS" verbose="true" >
            <targetfile/>
            <srcfile/>
            <fileset dir="INPUT/PROGRAMS/OPENGLES2" includes="**/*.glfx" />
            <mapper type="glob" from="*.glfx" to="*.glfx"/>
        </apply>
    </target>
    

    我只是想填写 apply 任务的 dest 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-29
      • 2014-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-09
      相关资源
      最近更新 更多