kotlin脚本中的Gradle插件配置

kotlin脚本中的Gradle插件配置,gradle,gradle-kotlin-dsl,Gradle,Gradle Kotlin Dsl,我正在尝试配置Kotlin net.researchgate.release插件。我有以下设置(kts脚本): 在同一脚本中,我尝试配置插件: release { svn { username = "some" password = System.getenv("SOME") pinExternals = false } } 在构建过程中,我得到了: Unresolved reference: svn 如何配置该插件?该插件不支

我正在尝试配置Kotlin net.researchgate.release插件。我有以下设置(kts脚本):

在同一脚本中,我尝试配置插件:

release {
    svn {
        username = "some"
        password = System.getenv("SOME")
        pinExternals = false
    }
}
在构建过程中,我得到了:

Unresolved reference: svn

如何配置该插件?

该插件不支持Kotlin DSL。原因是它使用Groovy元编程结构来配置嵌套扩展,而您没有使用Groovy

这个问题有两个悬而未决的问题:和。前者提出了一些不同的解决方法,包括如下配置SVN适配器:

release {
    with (propertyMissing("svn") as SvnAdapter.SvnConfig) {
        username = "some"
        // etc...
    }
}

我怀疑这可能是因为它没有类型安全的访问器。我现在不能测试这个,但是你能试着像“svn”(双引号)一样编写它吗?表达式“String”类型的“svn”不能作为函数调用。找不到函数“invoke()”。IDE也在为发布关键词而疯狂。看来我做错了什么。我是否应该以某种方式包装“释放”?例3。工件配置可能对您有所帮助。
release {
    with (propertyMissing("svn") as SvnAdapter.SvnConfig) {
        username = "some"
        // etc...
    }
}