ant:当输出文件不可用时应用可执行文件';不存在

ant:当输出文件不可用时应用可执行文件';不存在,ant,Ant,我尝试创建一个ant目标,它处理输入目录中的一些GLSL着色器,并将它们输出到另一个文件夹中。如果输出文件已经存在,我希望避免处理 我使用的可执行文件可以采用输出目录参数,也可以直接采用输出文件路径 目前,我有: <target name="optimize_programs"> <apply executable="TOOLS/glsl_processor" dir="." verbose="true" > <srcfile/>

我尝试创建一个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>

着色器已正确处理,但问题是,即使输出文件已存在,每次都会对其进行处理

我怀疑这是因为FlattleMapper不知道glsl_处理器的输出

我尝试使用来告诉glsl_处理器在哪里输出文件:

<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指向输出文件夹

有什么想法吗


谢谢

答案其实很简单:

<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属性