我们的源代码使用闭包编译器来缩小javascript。最近我的任务是将其升级到最新版本。当我这样做时,javascript组件将不再正确编译。我们之前使用的版本是v20131014。我尝试了最新的(从2016年2月起)以及之前的3或4个版本,但都遇到了同样的问题。
我们使用编译器的方式来自命令行,在Groovy文件中执行大量JavaScript转换:
...
def command = "java -jar $compiler --js $orderedDependencies --js_output_file $minFilename --create_source_map $mapFilename --compilation_level WHITESPACE_ONLY --source_map_format=V3 "
command.execute(null as List, outputDir).waitFor()
....
当我运行此脚本时,它会挂起执行。当我在命令行上运行命令(实际值替换上面看到的变量)时,它可以正常工作,没有任何问题。构建中没有任何日志消息表明错误;和版本v20131014没有问题。
2013年和2016年之间可能会出现哪些可能导致此问题的想法?
答案 0 :(得分:1)
它可能会写入更多输出,因此阻止其中一个标准输入管道
你应该对输出做些什么。
这会将其打印到控制台
command.execute(null as List, outputDir)
.waitForProcessOutput(System.out, System.err)