gradle - 使步骤 100% 可选
gradle - make a step 100% optional
我们使用 clover 进行代码覆盖率测试,但它会干扰堆栈跟踪和错误信息。我希望能够在通过 jenkins 进行自动构建时使用 cloverGenerateReport
但在进行本地构建时 完全 跳过此步骤。
我已经尝试了搜索 'gradle optional dependencies' 的各种建议,但我似乎无法完全摆脱 三叶草。
建议?
一种解决方案是检查环境变量 "JENKINS_HOME" 是否存在。如果是,则将 cloverGenerateReport 设置为另一个任务的依赖项。
在你的build.gradle中:
def env = System.getenv()
if(env.containsKey('JENKINS_HOME')){
reportTask.dependsOn cloverGenerateReport
}
您可以使用方法onlyIf。
cloverGenerateReport.onlyIf {
project.hasProperty('enableClover') ? Boolean.valueOf(project.getProperty('enableClover')) : false
}
在命令行中,您可以通过提供项目 属性:
来启用它
gradle cloverGenerateReport -PenableClover=true
我们使用 clover 进行代码覆盖率测试,但它会干扰堆栈跟踪和错误信息。我希望能够在通过 jenkins 进行自动构建时使用 cloverGenerateReport
但在进行本地构建时 完全 跳过此步骤。
我已经尝试了搜索 'gradle optional dependencies' 的各种建议,但我似乎无法完全摆脱 三叶草。
建议?
一种解决方案是检查环境变量 "JENKINS_HOME" 是否存在。如果是,则将 cloverGenerateReport 设置为另一个任务的依赖项。
在你的build.gradle中:
def env = System.getenv()
if(env.containsKey('JENKINS_HOME')){
reportTask.dependsOn cloverGenerateReport
}
您可以使用方法onlyIf。
cloverGenerateReport.onlyIf {
project.hasProperty('enableClover') ? Boolean.valueOf(project.getProperty('enableClover')) : false
}
在命令行中,您可以通过提供项目 属性:
来启用它gradle cloverGenerateReport -PenableClover=true