如何通过gradle(在函数中)在本地maven repo中安装子项目?

时间:2017-12-20 15:36:01

标签: java maven gradle groovy gradlew

在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}"
}

1 个答案:

答案 0 :(得分:1)

您需要将build.finalizedBy(publishToMavenLocal)命令添加到需要在maven本地推送的所有子项目build.gradle文件中。如果需要将所有子项目推送到maven本地,则可以在主subprojects{ }文件中的build.gradle闭包中调用此命令。但请记住,如果子项目彼此依赖,则构建顺序至关重要。