如何使用 Gradle 中的方法添加依赖项

How to add dependency using a method in Gradle

我可以使用

之一添加模块依赖

现在我想为多个依赖项重复此代码,并想为其创建一个方法。

我想要这样的东西

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 它的路径,您可以使用它来将依赖项添加到任何其他配置。