我可以使用以下任一方法添加模块依赖项
本地项目模块 现在我可以使用下面的命令完成
if (foo(":awesomemodule")) {
implementation 'com.example.app:awesomemodule:1.0'
}
else {
implementation project(':awesomemodule')
}
现在,我想针对多个依赖关系重复此代码,并希望为其创建一个方法。
我想要这样的东西
customAddImplementation(':awesomemodule')
ext.customAddImplementation = { moduleName ->
if (foo(moduleName)) {
return implmentation('com.example.app' + moduleName + ':1.0')
} else {
return project(path: moduleName)
}
}
但是这种方法不起作用,因为当我使用implementation()
添加依赖项时找不到customAddImplementation(':awesomemodule')
定义
答案 0 :(得分:1)
类似的事情应该起作用:
def customModulePath(String moduleName) {
if (foo(moduleName)) {
return "com.example.app:$moduleName:1.0")
} else {
return project(":$moduleName")
}
}
dependencies {
implementation(customModulePath('awesomemodule'))
}
要点:由于该函数不会尝试将自定义模块路径添加到实现依赖关系中,而只是返回其路径,因此您可以使用它来将依赖关系添加到任何其他配置中。