Мы сжимаем наши javascript (и css файлы) с помощью компрессора YUI во время нашей задачи сборки ant, запущенной на нашем сервере Jenkins CI. Однако очень сложно определить, с какими js файлами работает компрессор YUI. Мы видим кучу вещей вроде:
[minify-js] [ERROR] 3:35:unterminated string literal [minify-js] [minify-js] [ERROR] 3:35:syntax error [minify-js] [minify-js] [ERROR] 4:8:syntax error [minify-js] [minify-js] [ERROR] 1:0:Compilation produced 3 syntax errors. [minify-js] org.mozilla.javascript.EvaluatorException: Compilation produced 3 syntax errors. [minify-js] at com.yahoo.platform.yui.compressor.YUICompressor$1.runtimeError(YUICompressor.java:135) [minify-js] at org.mozilla.javascript.Parser.parse(Parser.java:410) [minify-js] at org.mozilla.javascript.Parser.parse(Parser.java:355) [minify-js] at com.yahoo.platform.yui.compressor.JavaScriptCompressor.parse(JavaScriptCompressor.java:312) [minify-js] at com.yahoo.platform.yui.compressor.JavaScriptCompressor.(JavaScriptCompressor.java:533) [minify-js] at com.yahoo.platform.yui.compressor.YUICompressor.main(YUICompressor.java:112) [minify-js] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [minify-js] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [minify-js] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [minify-js] at java.lang.reflect.Method.invoke(Method.java:616) [minify-js] at com.yahoo.platform.yui.compressor.Bootstrap.main(Bootstrap.java:20) [minify-js] Result: 2
на выходе, но я не знаю, из каких сотен JS файлов возникает ошибка. Наша задача ant выглядит так:
<target name="minify-js">
<apply executable="yuicompressor" parallel="false" dest="${global.dir}/" taskname="minify-js" force="true">
<fileset dir="${global.dir}/" includes="**/*.js">
<exclude name="*.min.js" />
</fileset>
<arg value="--type=js" />
<srcfile />
<arg value="-o" />
<targetfile />
<mapper type="identity" />
</apply>
</target>
Не будучи экспертом в ant или компрессоре YUI, есть ли что-то, что мы можем сделать так, чтобы имя файла, где происходит ошибка, выводится где-то?