我一直在互联网上寻找有关如何创建函数并在build.gradle
中调用它们而未成功的几分钟。由于我什么也没找到,所以我不确定是否要搜索正确的概念关键字,或者是否有可能。
我有两个buildTypes
:
release {
}
debug {
}
而且,我想在它们两个内部都调用下面的
snippet()
而不复制它,或者换句话说,创建一个函数:def propsFile = rootProject.file('properties')
def M_PROP = "mProp"
if (propsFile.exists()) {
//Math
}
产生类似:
buildTypes {
release {
snippet()
}
}
debug {
snippet()
}
}
那有可能吗,我该怎么做呢?
最佳答案
也许你想要
buildTypes {
[release, debug].each { buildType ->
if (foo) {
buildType.doStuff()
}
}
}
或许
ext.snippet = { buildType ->
if (foo) {
buildType.doStuff()
}
}
buildTypes {
snippet(release)
snippet(debug)
}
注意:groovy中还有with { ... }方法,因此
buildType.doStuff1()
buildType.doStuff2()
buildType.doStuff3()
可以写成
buildType.with {
doStuff1()
doStuff2()
doStuff3()
}