gradle - 如何在 buildFinished 中使用 commandLine()
问题描述
在$HOME/.gradle/init.gradle
我有:
gradle.buildFinished { buildResult ->
commandLine 'bash', "blah blah blah"
}
构建gradle build
成功,但成功后出现错误:
在 org.gradle.invocation.DefaultGradle 类型的构建 'FooBar' 上找不到参数 [bash, blah blah blah] 的方法 commandLine()。
问题的答案找不到方法 commandLine()无济于事,因为将整个事物放在(type: Exec)
后面gradle.buildFinished
或将整个事物包装进去exec { }
都会导致 Gradle 从一开始就失败,而不是构建成功,然后我的构建后挂钩失败。
我正在使用 Gradle 6.3 版
解决方案
你配置错误commandLine
。具有以下内容build.gradle
:
task lol {
doLast {
println "lol"
}
}
和~/.gradle/init.gradle
:
gradle.buildFinished { buildResult ->
exec {
commandLine 'bash', '-c', 'echo lol2'
}
}
它按预期工作。
推荐阅读
- unity3d - Google Cardboard:如何在 Unity 中使用自动行走时旋转对象?
- git - 如何在git中保持历史清晰
- javascript - 在 React 组件之前等待外部脚本加载
- angularjs - ng-show 如果子数组在应用过滤器后有任何元素
- c - 如何使用 madvise 和相关的宏?
- c# - Entity Framework Add-Migration 命令以错误的顺序生成架构更改
- python - 使用 selenium python 定位填充输入元素
- git - 嗨,我要在网站上重命名 GiTlab 上的文件吗
- sql - 通过 EF Core 使用 Always Encrypted 并将主密钥存储在 Azure Key Vault 中
- java - 评估扑克手德州扑克问题