首页 > 解决方案 > 在 kotlin 上使用模块构建 gradle 脚本

问题描述

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

对于 groovy 我这样应用脚本:

apply from: "${rootProject.projectDir}/publish-maven.gradle"

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

apply(from = "publish-maven.gradle.kts")

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

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

并且无法识别 kotlin 语法。

我也试试

apply(from = "${rootProject.projectDir}/publish-maven.gradle.kts")

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

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

Gradle 版本:6.7;JDK:1.8;IDE:IntellijIdea

标签: kotlingradle

解决方案


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

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

settings.gradle.kts

rootProject.name = "MyProject"

include("app", "core") // <-- Line added

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

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


推荐阅读