在gradle中,运行我的脚本时,我有一堆依赖于其他子项目的子项目。我们需要将它们作为外部罐子(而不是compile project
出于各种原因)。所以我需要在本地安装它们。我希望这是父gradle中定义的函数。
当我尝试在函数内调用install ":projName"
时,我收到错误:
在org.gradle.api.Project类型的根项目'test'上找不到参数[:projName]的方法install()
我该怎么做?
ext.installLocal = {moduleName ->
//...elided... doing some checking, conditionals, etc
//Try to install locally
install ":${moduleName}"
}
答案 0 :(得分:1)
您需要将build.finalizedBy(publishToMavenLocal)
命令添加到需要在maven本地推送的所有子项目build.gradle
文件中。如果需要将所有子项目推送到maven本地,则可以在主subprojects{ }
文件中的build.gradle
闭包中调用此命令。但请记住,如果子项目彼此依赖,则构建顺序至关重要。