如何使用 Gradle 中的方法添加依赖项
How to add dependency using a method in Gradle
我可以使用
之一添加模块依赖
- aar依赖
本地项目模块
现在我可以使用下面的方法完成同样的事情
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)
}
}
但是这种方法不起作用,因为当我使用 customAddImplementation(':awesomemodule')
添加依赖项时找不到 implementation()
定义
像这样的东西应该可以工作:
def customModulePath(String moduleName) {
if (foo(moduleName)) {
return "com.example.app:$moduleName:1.0")
} else {
return project(":$moduleName")
}
}
dependencies {
implementation(customModulePath('awesomemodule'))
}
加分点:由于该函数不会尝试将自定义模块路径添加到实现依赖项,而只是 returns 它的路径,您可以使用它来将依赖项添加到任何其他配置。
我可以使用
之一添加模块依赖- aar依赖
本地项目模块 现在我可以使用下面的方法完成同样的事情
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)
}
}
但是这种方法不起作用,因为当我使用 customAddImplementation(':awesomemodule')
implementation()
定义
像这样的东西应该可以工作:
def customModulePath(String moduleName) {
if (foo(moduleName)) {
return "com.example.app:$moduleName:1.0")
} else {
return project(":$moduleName")
}
}
dependencies {
implementation(customModulePath('awesomemodule'))
}
加分点:由于该函数不会尝试将自定义模块路径添加到实现依赖项,而只是 returns 它的路径,您可以使用它来将依赖项添加到任何其他配置。