在build.gradle中使用Gradle属性

时间:2018-06-16 23:48:42

标签: java gradle

我通读this,正式Gradle reference和迁移guide,我仍然无法弄清楚为什么以下构建脚本不起作用。

apply plugin: 'java-library'

repositories {
    jcenter()
}

dependencies {
    testImplementation group: 'org.testng', name: 'testng', version: '6.14.3'    
}

def t_threads = test_threads

test {
    useTestNG() {
        setParallel('methods');
        setThreadCount(t_threads)
    }
    maxParallelForks = t_threads
}

task printProps {
        println test_threads
}

我的gradle.properties文件:

test_threads = 1

gradle printPropssetThreadCount(t_threads)行失败,但有以下情况:无法在类型为org.gradle.api.tasks的对象上找到参数1的方法setThreadCount()。 testing.testng.TestNGOptions 。如果我将我的代码更改为def t_threads = 1,那么gradle printProps会在没有显示1的错误的情况下完成。

1 个答案:

答案 0 :(得分:2)

答案很简单。 setThreadCount期望Integer作为参数,但属性为String,因此我所要做的就是使用StringInteger转换为test_threads as Integer