如何用Jenkins作业覆盖build.gradle

如何用Jenkins作业覆盖build.gradle,gradle,jenkins,Gradle,Jenkins,我需要用Jenkins作业覆盖build.gradle文件 在Jenkins gradle插件的构建步骤中尝试了这一点,但没有成功: -PcheckstyleTask.ignoreFailures=false -PcheckstyleTask.checkstyleTest.enabled=true 问题: 这些值需要用Jenkins作业更新:ignoreFailures,checkstyleTest.enabled。需要做什么?谁能帮帮我吗 文件build.gradle: checkstyle

我需要用Jenkins作业覆盖
build.gradle
文件

在Jenkins gradle插件的构建步骤中尝试了这一点,但没有成功:

-PcheckstyleTask.ignoreFailures=false
-PcheckstyleTask.checkstyleTest.enabled=true
问题:

这些值需要用Jenkins作业更新:
ignoreFailures
checkstyleTest.enabled
。需要做什么?谁能帮帮我吗

文件
build.gradle

checkstyle {
    configFile = new File(rootDir, "checkstyle/checkstyle.xml")
    checkstyleMain.source = getTouchedFiles()
    ignoreFailures = true
    checkstyleTest.enabled = false
}

您正在传递带有
-p
标志的项目属性,但这还不是
checkstyle
的属性。您需要在配置中将此属性用作值,如下所示:

checkstyle {
    configFile = new File(rootDir, "checkstyle/checkstyle.xml")
    checkstyleMain.source = getTouchedFiles()
    ignoreFailures = checkstyleTask.ignoreFailures
    checkstyleTest.enabled = checkstyleTask.checkstyleTest.enabled
}
尽管您可能需要更改变量名,使其不同于某些生成脚本属性和任务。或者,您可以通过项目实例获得此属性

//used to check, whether is property provided
project.hasProperty('checkstyleTask.ignoreFailures')

//used to get specific property value
project.properties.get('checkstyleTask.ignoreFailures')

阅读有关属性以及如何使用它们的另一种方式,似乎您希望根据某些条件配置任务:

用法:
/gradlew-PCI检查样式

if (project.hasProperty("CI")) {
    tasks.withType(Checkstyle) {
        ignoreFailures = false
        checkstyleTest.enabled = true
    }
}