kotlin gradle 脚本中的 groovy gradle JNI 配置等效于什么?

What's equivalent of the groovy gradle JNI configuration in kotlin gradle script?

我很难将以下 groovy 脚本转换为 kotlin 脚本 (build.gradle -> build.gradle.kts)。

model {
    components {
        main(NativeExecutableSpec) {
            sources {
               // ...
            }
        }
    }
}

我找到的所有文档 Build native software, Setup JNI development in Gradle project 都有 groovy 语法,但其中 none 有 kotlin 语法。尝试在其他 OS 项目中查找但一无所获。

我试图找到一些类型信息来获得一些线索:

并尝试 kts 中的内容:

val model by tasks.getting(ModelReport::class) {
    components {
        // ...
    }
}

但似乎该对象中没有 属性 调用的组件。

现在自己基本上什么都想不通,如果有人能帮忙,将不胜感激!

您尝试使用的旧本机插件 (c) 使用基于规则的软件模型。 这些插件已被(或将被)弃用,应该使用 cpp-library 等替代品。

您发布的教程 link 还有一个 link 示例,说明如何使用 Groovy DSL 中的替换插件,您应该可以轻松地将其移植到 Kotlin DSL .

除此之外,https://docs.gradle.org/current/userguide/kotlin_dsl.html 在“限制”部分指出:

The Kotlin DSL will not support the model {} block, which is part of the discontinued Gradle Software Model. However, you can apply model rules from scripts — see the model rules sample for more information.