如何创建"别名"对于gradle属性名称?
例如,Android Instrumentation Runner提供了仅执行某些测试类/方法的功能:
./gradlew connectedAndroidTest \
-Pandroid.testInstrumentationRunnerArguments.class=com.example.TestSuiteName
如何缩短此参数名称?
我尝试过创建这样的自定义任务:
task executeTest {
setProperty('android.testInstrumentationRunnerArguments.class', 'com.example.TestSuiteName')
dependsOn 'connectedAndroidTest'
}
但它会因groovy.lang.MissingPropertyException
而爆炸。
使用doLast {}
闭包也是如此。
有什么建议吗?
答案 0 :(得分:0)
在这种情况下,我认为您在Project
对象上设置了一个属性,与拥有project.setProperty('key', 'val')
相同,但您想将该属性添加到System.properties
这样的事情应该可以检查是否先执行任务,然后设置系统属性。
gradle.taskGraph.whenReady { taskGraph ->
if (taskGraph.hasTask("connectedAndroidTest") {
System.setProperty('android.testInstrumentationRunnerArguments.class', 'com.example.TestSuiteName')
}
}