繁体   English   中英

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

[英]How can I call a function from a separate .gradle file from a gradle script using the Gradle Kotlin DSL?

基本上我想这样做:

使用其他 gradle 文件中的 Gradle 函数

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

我按照上面的链接进行了 groovy-to-groovy,但我无法使用 Kotlin DSL 使其工作。

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

def buildVersionName() {
        //Do some stuff
}

ext {
    buildVersionName = this.&buildVersionName
}

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

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

当我同步时,我收到错误:

Unresolved reference: buildVersionName

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM