这是我当前的Gradle任务:
task concat << {
println "cat $localWebapp/sc*.js > $buildDir/js/sc.concat.js"
exec {
commandLine "bash","-c",'cat',"$localWebapp/sc*.js", ">", "$buildDir/js/sc.concat.js"
}
}
即使我使用println
打印的命令是正确的(如果我将其粘贴到项目目录中的控制台中它也能正常工作),该命令也不会构建{{1}文件。
发生了什么,我该如何解决?
答案 0 :(得分:3)
sh -c
需要一个参数来执行脚本/命令:
commandLine "/bin/sh","-c","cat $localWebapp/sc*.js > $buildDir/js/sc.concat.js"
否则cat
之后的参数被作为进一步的参数传递给shell,这被“误解”。
答案 1 :(得分:1)
而不是commandLine
,似乎executable
有效:
task concat << {
println "cat $localWebapp/sc*.js > $buildDir/js/sc.concat.js"
exec {
executable "sh"
args "-c", "cat $localWebapp/sc*.js > $buildDir/js/sc.concat.js"
}
}