在 kotlin 上使用模块构建 gradle 脚本

wel*_*ell 10 gradle kotlin

我想在我的 gradle 构建脚本中从 groovy 迁移到 kotlin dsl。我在项目中有 2 个脚本: build.gradle 和 publish-maven.gradle 附加在第一个脚本中。

对于 groovy 我应用脚本所以:

apply from: "${rootProject.projectDir}/publish-maven.gradle"
Run Code Online (Sandbox Code Playgroud)

对于 kotlin,我发现相同的代码如下所示:

apply(from = "publish-maven.gradle.kts")
Run Code Online (Sandbox Code Playgroud)

但是 publish-maven.gradle.kts 不附加到 build.gradle.kts。在IDE中的脚本顶部不断挂起警告:

代码洞察不可用(上次 Gradle 项目导入期间未收到此脚本的配置)

并且无法识别 kotlin 语法。

我也试试

apply(from = "${rootProject.projectDir}/publish-maven.gradle.kts")
Run Code Online (Sandbox Code Playgroud)

或者找到了其他例子,但没有一个有帮助。

我该怎么做才能应用这个脚本?或者一般问题是如何将构建脚本拆分为多个文件?

摇篮版本:6.7;JDK:1.8;IDE:IntellijIdea

cub*_*l42 8

就我而言,Intellij 中“代码洞察不可用”消息的修复是在文件中添加对我的子项目的引用settings.gradle.kts

我尝试设置一个包含两个子项目的 Gradle 项目:“app”和“core”。我没有正确遵循这些示例,也没有在settings.gradle.kts.

settings.gradle.kts

rootProject.name = "MyProject"

include("app", "core") // <-- Line added
Run Code Online (Sandbox Code Playgroud)

在IDE中重新加载Gradle项目后,一切正常。

虽然我可能不会具体回答您的问题(对此我很抱歉),但这是在搜索引擎中搜索“代码洞察不可用”的极少数结果之一,因此我希望有人会发现这个答案有用。