我一直试图创建一个使用pngquant处理一堆PNG文件的自定义Ant任务失败。
这是我到目前为止所尝试的内容(我已将其作为HTML5 Boilerplate构建脚本的一部分运行,因此动态值来自此处):
<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>
目前,每张图片都出现“无法打开阅读”的错误。
我知道这可能不是很有帮助,但我真的不知道从哪里开始。非常感谢任何帮助。
答案 0 :(得分:0)
我不知道问题是什么,但我认为你的Ant XML本身有问题。
首先,您的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"/>
和{{1}}。