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