代码之家  ›  专栏  ›  技术社区  ›  M Dapp

如何使用gradle Kotlin DSL从gradle脚本调用单独的.gradle文件中的函数?

  •  0
  • M Dapp  · 技术社区  · 5 年前

    Use Gradle function from other gradle file

    也就是说,从一个gradle脚本调用另一个gradle脚本中的函数。问题是我的build.gradle在Kotlin(build.gradle.kts)中,而我的函数所在的脚本仍然在groovy中。

    我按照上面的groovy到groovy的链接,但是我无法使用Kotlin DSL实现这一点。

    在我的groovy文件functions.gradle中,我有:

    def buildVersionName() {
            //Do some stuff
    }
    

    ext {
        buildVersionName = this.&buildVersionName
    }
    

    然后,在build.gradle.kts脚本中,我有:

    apply(from = "functions.gradle")
    project.ext.buildVersionName()
    

    当我同步时,我得到一个错误:

    Unresolved reference: buildVersionName
    
    0 回复  |  直到 5 年前
        1
  •  3
  •   kaushik    5 年前

    build.gradle.kts 执行以下操作:

    import groovy.lang.Closure
    apply(from="functions.gradle")
    val buildVersionName: Closure<Any> by ext
    buildVersionName()