[英]|| operator in Gradle Task commandLine
再会。 有必要根据前一个命令的结果来决定运行第二个命令。
我需要检查 npm package 是否已安装,如果不存在则开始安装。 npm list -g package
(if the package does not exist, this command will return a value different from 0) and npm install -g package
commands are used for the issue. 使用||
很容易在终端中执行逻辑操作员:
npm list -g package || npm install -g package
然后我在gradle.build文件中创建了installPackage
任务:
task installPackage(type: Exec) {
commandLine 'npm', 'list', '-g', 'package', '||', 'npm', 'install', '-g', 'package'
}
而且这些命令都不起作用。 实际上,结果显示就好像使用npm list -g
命令一样。
有没有办法在不使用第三方工具或插件的情况下做到这一点? 可以使用哪些选项? 非常感谢
有一个关于执行多个命令的问题Gradle -- 从任务执行多个命令,但不支持&&
或||
. 只需从以下对您有意义的解决方案中选择。 我个人更喜欢解决方案1。
task installPackageWithScript(type: Exec) {
commandLine('sh', './bin/installPackage.sh')
}
task installPackageInline(type: Exec) {
commandLine('npm', 'list', '-g', 'package')
doLast {
if (execResult.exitValue == 0) {
println "list Success"
} else {
println "list Fail, run install"
exec { commandLine('npm', 'install', '-g', 'package') }
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.