0

我一直在尝试创建一个使用 pngquant 处理一堆 PNG 文件的自定义 Ant 任务,但没有成功。

到目前为止,这是我一直在尝试的(并且我一直将它作为 HTML5 样板构建脚本的一部分运行,所以这就是动态值的来源):

<apply executable="${basedir}/${dir.build.tools}/pngquant" dest="./${dir.publish}/${dir.images}/" osfamily="unix">
    <fileset dir="./${dir.source}/${dir.images}/" includes="**/*.png"  excludes="${images.bypass}, ${images.default.bypass}"/>
    <arg value="-force 256"/>
    <targetfile/>
    <srcfile/>
    <mapper type="identity"/>
</apply>

目前,每张图片都会出现“无法打开阅读”的错误。

我知道这可能不是很有帮助,但我真的不知道从哪里开始。任何帮助将不胜感激。

4

1 回答 1

0

我不知道问题是什么,但我认为您的 Ant XML 本身有问题。

首先,您excludes的逗号后面有一个额外的空格。

excludes:必须排除的文件模式的逗号或空格分隔列表。

也就是说,您应该使用逗号或空格,而不是一起使用。所以应该是${images.bypass},${images.default.bypass}---- 我发现不对。它使用StringTokenizer(String sInput, String sDelimiter, boolean bReturnTokens)并将false传递给第三个参数,以便您可以,一起使用。

另外,我建议您使用嵌套<include><exclude>元素使其更清晰。

其次,如果你不需要使用它们,你不需要把它们放在里面<targetfile/><srcfile/><apply>

第三,<arg value="-force 256" />应该是<arg value="-force"/><arg value="256"/>

于 2012-05-03T06:39:18.467 回答