well
well

Reputation: 631

Build gradle script with modules on kotlin

I want to migrate from Groovy to Kotlin DSL in my gradle build script. I have 2 scripts in the project: build.gradle and publish-maven.gradle which is attached in the first one.

For Groovy I apply the script like that:

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

For Kotlin, I found the same code will look like that:

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

But publish-maven.gradle.kts isn't attached to build.gradle.kts. At the top of the script the IDE constantly shows warning:

Code insight unavailable (configuration for this script wasn't received during the last Gradle project import)

and Kotlin syntax isn't recognised.

I also tried

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

or have found other examples but non of them helped.

What do I have to do to apply this script? Or the general question is how can I split build script into several files?

Gradle version: 6.7; JDK: 1.8; IDE: IntellijIdea

Upvotes: 21

Views: 12362

Answers (1)

cubuspl42
cubuspl42

Reputation: 8360

In my case, a fix for "Code insight unavailable" message in Intellij was to add references to my subprojects in settings.gradle.kts file.

I've tried to set a Gradle project with two subprojects: "app" and "core". I didn't follow the examples correctly and I didn't include references in settings.gradle.kts.

settings.gradle.kts

rootProject.name = "MyProject"

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

After reloading the Gradle project in the IDE, everything was fine.

While I might not be answering your question specifically (I'm sorry for that), this is one of very few results for searching "Code insight unavailable" in the search engine, so I hope someone will find this answer useful.

Upvotes: 9

Related Questions